不用第三变量交换整型数值的三种方法
来源:互联网 发布:生死狙击刷枪刷枪软件 编辑:程序博客网 时间: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还要考虑数值的范围。
本人总结,如果有说错的地方就多多包涵
- 不用第三变量交换整型数值的三种方法
- 变量数值交换的三种方法
- 不用第三个变量交换两个变量的值的几种方法
- 不用第三变量交换2个数的5中方法
- 不用中间变量交换两个整型变量的值
- 不用中间变量交换 a ,b(三种方法)
- [转]不用中间变量交换两个数值变量的值
- 不用中间变量,交换整型变量
- 不使用中间变量,交换两个数值的三种方法
- JAVA_三种方法实现两个整形变量的数值交换
- 交换两个整型变量的四种方法
- Java--交换两个变量的值的三种方法:借助中间量交换,数值相加减交换,位移运算交换
- 不用中间变量进行数值交换的算法
- C/C++中交换两个整型数值的方法
- C语言交换两个变量数值的几种方法
- 把两个变量交换数值的方法
- swift交换两个变量的数值方法
- 不用第三个变量交换两个变量的值
- MYsql驱动下载地址
- C#2008语言特征4----局部方法
- 站点地图与网站优化
- C#2008语言特征5----对象和集合初始值语法
- bboss aop 实践(3)构造函数依赖注入
- 不用第三变量交换整型数值的三种方法
- C#2008语言特征6----匿名类型
- Twitter 上的十位 Geek 英雄谱
- 浏览器战争的中心聚集到JavaScript上
- 2009年10大战略性技术
- ko
- Linux 进程控制
- 微软IE8 正式版发布 使用体验(组图)
- 在 ASP.NET 中设置 html 文件的访问验证