您的位置:首页 > 其它

不用临时变量交换2个数的3种实现

2011-09-24 22:36 190 查看
int   a,b;

a=a^b;

b=a^b

a=a^b

最好的方法

a=a+b;

b=a-b;

a=a-b;

a=a*b;

b=a/b;

a=a/b;

后两种方法可能溢出。

============================第一种的解释================================

^是异或符号,异或这种运算有一个特点,那就是一个数被同一个数异或两次还是他本身: x=x^y^y,同时异或符合交换率:x=y^x^y
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: