c**********e 发帖数: 2007 | 1 The following is from baidu:
http://baike.baidu.com/view/1452266.html?fromTaglist
异或还可以用来交换两个整形变量的值,而不需要第三个量的传递.
例如:
a=9;
b=10;
a=a^b;
b=b^a;
a=a^b;
结果是a为10,b为9.
Is this correct?
In general, is a^b == b^a true? Thanks. |
r**u 发帖数: 1567 | 2 both correct
【在 c**********e 的大作中提到】 : The following is from baidu: : http://baike.baidu.com/view/1452266.html?fromTaglist : 异或还可以用来交换两个整形变量的值,而不需要第三个量的传递. : 例如: : a=9; : b=10; : a=a^b; : b=b^a; : a=a^b; : 结果是a为10,b为9.
|
a********a 发帖数: 219 | 3 think this way
x^x=0
b=b^a^b=a
a=a^b^a=b |
H*X 发帖数: 281 | 4 做embedded或者加密算法的,蛮长见到这么来swap的 |
c**********e 发帖数: 2007 | 5 Thank you guys. The clarification is very clear.
【在 a********a 的大作中提到】 : think this way : x^x=0 : b=b^a^b=a : a=a^b^a=b
|
f*****w 发帖数: 2602 | 6 加密算法的时候 这样子交换是为能快一些吗? 还是也是为省那么点空间? |