标签: 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>
x=x^y; y=x^y; x=x^y
y=(x^y)^y=x
x=x^y = (x^y)^(x^y)= 0?
答案 0 :(得分:0)
x=x^y y=(x^y)^y x=(x^y)^((x^y)^y) //here is how you get x = y
你做错了替换。