相同为0, 不同为1
异或操作的一些特点
x^0 = x
x^1s(指二进制全位1的数) = ~x 相等于给x进行取反
x^(~x)=1s
x^x = 0
a^b =c => a ^ c = a ^ a ^ b = b, b ^ c = b ^ a ^ b = a // swap
实战常用的位运算操作
- X & 1 == 1 OR == 0 判断X最后一个二进制位是1还是0 奇偶性(X % 2 == 1)
- X = X & (X - 1) => 清零最低位的1
- X & -X => X取反后再加1 得到最低位的1