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

来源:互联网 发布:生死狙击刷枪刷枪软件 编辑:程序博客网 时间:2024/04/30 14:45

已知整数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还要考虑数值的范围。

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

原创粉丝点击