通过异或运算交换整型变量值

通过异或运算交换整型变量值

a=a^b
b=a^b
a=a^b

通过以上3步就可以实现a、b两个整型变量互换,不用通过第三个变量。其原理是:

1. a ^ a = 0。一个数和自己异或为0。
2. a ^ b ^ a = b。异或运算是可交换的,一个数与另一个数两次异或返回该数。
3. c ^ a ^ b = a ^ c ^ b。异或运算也是结合的,运算的分组不影响结果。
4. a ^ 0 = a。任何一个数和0的异或都是其本身

思想很巧妙,当做固定用法背下来吧!

Comments are closed.