不用第三变量交换整型数值的三种方法

已知整数a和b的值,不用第三变量,交换它们的值

1.  a=a+b;
     b=a-b;
     a=a-b;

     (不多说了)

2.  a=a^b;
     b=a^b;
     a=a^b;3
     利用异或的方法;

     原理是两次异或等于原值。

    假设b=9,a=5,

    a=a^b;

    所以 b=a^b^b=a(这时,b^b=0,b已经等于a=5了)

    所以 a=a^b^b(这里a等于5,第一个b等于9,第二个b等于5,因为第一个b是将a=a^b代入3式得到的,进行异或运算后可得结果为9

3.第二种的变异

   a ^= b;
   b ^= a;
   a ^= b;

方法2和3更好一些,因为方法1还要考虑数值的范围。

本人总结,如果有说错的地方就多多包涵

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值