xor两个数字到位交换?

时间:2017-04-06 19:56:27

标签: algorithm bit-manipulation xor

我遇到了一个使用xor交换两个数字的问题。所以它基本上是x=x^y; y=x^y; x=x^y,我可以想到y=(x^y)^y=x,所以y现在变成x,但最后一个不是x=x^y = (x^y)^(x^y)= 0? x怎么变成y? / p>

1 个答案:

答案 0 :(得分:0)

x=x^y
y=(x^y)^y
x=(x^y)^((x^y)^y) //here is how you get x = y

你做错了替换。