Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.syntblaze.com/llms.txt

Use this file to discover all available pages before exploring further.

The ^= operator is the bitwise XOR (exclusive OR) assignment operator in Swift. It performs a bitwise XOR operation between the binary representations of two integer values and immediately assigns the resulting bit pattern back to the left-hand operand. It is a compound assignment operator, meaning a ^= b is semantically equivalent to a = a ^ b.

Syntax

lhs ^= rhs
  • lhs: A mutable variable (var) conforming to the BinaryInteger protocol.
  • rhs: An expression of the exact same integer type as lhs.

Mechanics

The operator evaluates the operands at the bit level. For each corresponding bit position in the left-hand and right-hand operands, the XOR logic dictates the resulting bit:
  • Returns 1 if the bits are different (one is 0 and the other is 1).
  • Returns 0 if the bits are identical (both are 0 or both are 1).

Code Visualization

var a: UInt8 = 0b0011_1100 // Decimal 60
let b: UInt8 = 0b0000_1101 // Decimal 13

a ^= b 

print(String(a, radix: 2)) // Prints "110001"
Bitwise Breakdown:
  0011 1100  (a)
^ 0000 1101  (b)

  0011 0001  (Result assigned back to 'a')

Type Constraints

Because bitwise operations require direct manipulation of memory at the bit level, the ^= operator is strictly constrained to types that conform to the BinaryInteger protocol (e.g., Int, UInt8, Int32). Attempting to use this operator on floating-point numbers (Double, Float) or non-numeric types will result in a compile-time error. Both operands must also be of the exact same type; Swift does not implicitly cast integer types during bitwise operations.
Master Swift with Deep Grasping Methodology!Learn More