1、含义
异或运算(XOR)是 exclusive OR 的缩写。英语的 exclusive 意思是"专有的,独有的",可以理解为 XOR 是更单纯的 OR 运算。
OR 运算的运算子有两种情况,计算结果为true。
(1)一个为 true,另一个为 false;
(2)两个都为 true。
上面两种情况,有时候需要明确区分,所以引入了 XOR。
XOR 主要用来判断两个值是否不同。
XOR 一般使用插入符号(caret)^
表示。如果约定0
为 false,1
为 true,那么 XOR 的运算真值表如下。
0 ^ 0 = 0
0 ^ 1 = 1
1 ^ 0 = 1
1 ^ 1 = 0
2、运算律
1)一个值与自身的运算,总是为 0。
x ^ x = 0
2)一个值与 0 的运算,总是等于其本身。
x ^ 0 = x
3)可交换性
x ^ y = y ^ x
4、结合性
x ^ (y ^ z) = (x ^ y) ^ z
ps:异或运算逆运算
x ^ y = z
z ^ x = y
z ^ y = x
3、位运算小技巧
计算不进一和
x ^ y
计算进一和
x & y << 1
删除最后一位1
x & (x - 1)
判断最后一位是不是1
x & 1