异或
可理解为无进位加法
性质:
1.0^n=n
2.n^n=0;
3.a^b=b^a (a^b)^c=a^(b^c)
4.同样一批数异或与异或顺序无关
a: 10110
b: 00111
a^b:10001
//两个数交换可以用异或
int a=num1,b=num2;
a=a^b;//a=num1^num2 b=num2
b=a^b;//b=num1^num2^num2=num1
a=a^b;//a=num1^num2^num1=num2
//注意:能这么干的前提是 a和b在内存里是两块独立的区域(a指向的内存和b指向的内存不同)