//求出其中无法成对的数
int[] array = {1, 2, 5, 2, 5, 1, 4};
int single = array[0];
for(int i = 1; i < array.length; i++)
single ^= array[i];
System.out.println("single:"+single);
//交换两个数
int e=1;
int f=3;
e = e^f;
f= f^e;
e=e^f;
System.out.println("e="+e+"f="+f);
a = a ^ b;
b = b ^ a;
a = a ^ b;
|
祥解:
1
2
3
|
a1=a^b
b=a1^b
a=a1^b =a1^(a1^b)=a1^a1^b=b
|