通过异或运算交换整型变量值
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的异或都是其本身
思想很巧妙,当做固定用法背下来吧!
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的异或都是其本身
思想很巧妙,当做固定用法背下来吧!