异或运算 XOR
2024年11月17日约 287 字小于 1 分钟
XOR
目录
含义
异或运算(XOR)是 exclusive OR 的缩写。英语的 exclusive 意思是"专有的,独有的",
可以理解为 XOR 是更单纯的 OR 运算。
XOR 主要用来判断两个值是否不同。
在异或运算中,如果参与运算的两个值相同,则结果为假(或0);如果两个值不同,则结果为真
如果约定0 为 false,1 为 true,那么 XOR 的运算真值表如下:
A | B | A XOR B |
---|---|---|
0 | 0 | 0 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 0 |
XOR 一般使用插入符号(caret)^表示。上述运算真值表可以表达为:
0 ^ 0 = 0
0 ^ 1 = 1
1 ^ 0 = 1
1 ^ 1 = 0
运算律
一个值与自身的运算,总是为 0
x ^ x = 0
一个值与 0 的运算,总是等于其本身
x ^ 0 = x
可交换性
x ^ y = y ^ x
结合性
x ^ (y ^ z) = (x ^ y) ^ z
位运算小技巧
计算不进一和
x ^ y
计算进一和
x & y << 1
删除最后一位1
x & (x - 1)
判断最后一位是不是1
x & 1