设a,b两个数
一般情况下,两个数交换这么写
int temp = a;
a = b;
b = a;
如果不用额外变量 temp 可以这么写
a = a ^ b
b = a ^ b
a = a ^ b
原理:
首先:a = a ^ b -> b = a ^ b ^ b = a ^ 0 = a
然后: a = a ^ a ^ b = 0 ^ b = b
设a,b两个数
一般情况下,两个数交换这么写
int temp = a;
a = b;
b = a;
如果不用额外变量 temp 可以这么写
a = a ^ b
b = a ^ b
a = a ^ b
原理:
首先:a = a ^ b -> b = a ^ b ^ b = a ^ 0 = a
然后: a = a ^ a ^ b = 0 ^ b = b