Bitwise XOR Assignment Operator (^=)

Performs a bitwise exclusive OR on a variable and an expression and assigns the result to the variable.

result ^= expression


Any numeric variable.


Any numeric expression.

Using this operator is almost the same as specifying result = result ^ expression, except that result is only evaluated once.

The ^= operator coerces the arguments to matching data types. Then the ^= operator looks at the binary representation of the values of two expressions and does a bitwise exclusive OR operation on them. The result of this operation behaves as follows:

0101    (result)
1100    (expression)
1001    (result)

When one, and only one, of the expressions has a 1 in a digit, the result has a 1 in that digit. Otherwise, the result has a 0 in that digit.

Community Additions