异或
常用运算符:
- C/C++:
^/xor - Python:
^
真值表
| 结果 | ||
|---|---|---|
| 0 | 0 | 0 |
| 1 | 1 | 0 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
性质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: 神奇的位运算
常用运算符:
^ / xor^| 结果 | ||
|---|---|---|
| 0 | 0 | 0 |
| 1 | 1 | 0 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
即,0 ^ a = a,满足交换律
即,a ^ a = 0
即,a ^ b ^ b = a. 因为满足结合律,且根据性质2,b ^ b = 0,再根据性质1,a ^ 0 = a.
see also: 神奇的位运算