A和B的数据交换,两种实现方法方式,主要看位移的操作:
1、设置一个临时变量C, 则可以:C=A; A=B;B=C;
2、A = A+ B; B = A - B; A = A - B;
(这种不推荐使用,A+B如果相加溢出的话就有问题)
3、不需要设置变量,直接两个运用位移运算中的“异或(^)”,
A ^= B; B^=A; A^=B;
如:A=100 (4), B = 110 (5);
则: A= A^B = 100 ^ 110 = 010;
B = B^A = 110 ^ 010 = 100 (4,交换了A)
A = A^B = 010 ^ 100 = 110 (5,交换了B)