I recently came across the "exclusive or" bitwise symbol in some code I was converting to Objective-C and I had totally forgotten what it meant from my uni days. So if you are comparing two values and they differ in truth value then the result will be true but they are the same then result will be false.

Truth Table time!

So if we have two bits and use ^ we can expect this truth table:

First Bit Second Bit Result
0 0 0
0 1 1
1 0 1
1 1 0