在编程中,有多种方法可以交换两个变量而不使用第三个变量。使用按位 XOR(^) 就是其中之一。假设有两个变量 a 和 b,其值分别为 50 和 100。如果执行 3 次按位异或运算,并将值分别分配给 a、b 和 a,您会发现交换后的值是 a = 100 & b = 50。
如果你注意到按位异或(^)的真值表,事情就会更清楚:
X 是 X^Y
0 0 0
0 1 1
1 0 1
1 1 0
让我们以二进制进行操作,因为机器只能理解机器代码/二进制。
a = 50 (base 10) ->