下面是两个二进制数值进行异或计算:(0^1=1,0^0=1^1=0)其中^为异或符号。
11111111
xor
00000000--------------
结果
11111111
现实中用的都是十进制的数值,那么我们来看一看两个十进制数值是怎么进行异或计算:
5 ⊕ 3 = ?
1.进行异或计算前会把数值都转换为二进制:
5和3转为二进制分别为:0101 、0011
0101
xor
0011
-------
01102.再把结果 0110 转换为十进制的:6
3.所以 5 ⊕ 3 = 6
所以对于数组a[]={1,2,2,3,3};
所有元素异或后剩下的为没有重复元素的数;
如2^2=0; 2^2^1=1;