Bitwise XOR Operator (^)
Performs a bitwise exclusive OR on two expressions.
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 data types of the arguments determine the data type returned by this operator.
The result of this operation behaves as follows:
0101 (expression1) 1100 (expression2) ---- 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.