下面的内容均来自于网络的收集和汇总。
异或的实质是按位模2加,简单理解就是不进位加法如:
1⊕1 = 1^1 =0;
1⊕0 = 1^0 =1;
0⊕0 = 0^0 =0;
按位模2加:
101 ^ 110 ^ 111 = 100
101
110
111
--------
322
%2
--------
100
性质
- 交换律:A ^ B = B ^ A;
- 结合律:A ^ B ^ C = (A ^ B) ^ C =A ^ (B ^ C);
- 恒等律:A ^ 0 = A;
- 归零律:A ^ A = 0;
- 自反性:A ^ B ^ B = A ^ 0 = A;
- 对于任意的 X: X ^ (-1) = ~X;
- 如果 A ^ B = C ,那么 A ^ B = C,B ^ C = A;
- A ^ B = (!A) ^ (!B)
- (!A) ^ B = A ^ (!B) = !( A ^ B )
看看第6条(为简单化,按8位计算):
关键是-1的二进制码是多少?
1的二进制码为00000001, -1 + 1 =0 ,所以可以推出 -1 的二进制码为ÿ