异或

常用运算符:

  • C/C++: ^ / xor
  • Python: ^

真值表

结果
000
110
011
101

性质1:0是异或的单位元

即,0 ^ a = a,满足交换律

性质2:任何数异或自己等于0

即,a ^ a = 0

性质3:异或同一个数两次等于啥也没做

即,a ^ b ^ b = a. 因为满足结合律,且根据性质2,b ^ b = 0,再根据性质1,a ^ 0 = a.


see also: 神奇的位运算