//求出其中无法成对的数
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 |