不用临时变量交换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
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
相关文章推荐
- 不用临时变量,实现两个数的交换
- 由论坛上关于不用变量实现STRLEN函数和宏定义2个数据进行交换
- 不用临时变量实现两个变量交换
- 不用临时变量交换两个数的值(C实现)
- 不用临时变量实现两个变量的交换
- 用异或运算符实现不用第三个临时变量交换两个变量的值
- 不用临时变量实现两个数的交换
- 不用临时变量 实现两个变量之间的数据交换
- 用3种方法实现2个变量的交换
- 怎样不用临时变量而交换两个变量的值?——看一中文编程语言中的“完美”一例
- 交换2个变量与临时变量
- 不用临时变量,交换二个变量的值
- 排序算法之冒泡排序的基本介绍和数组越界,以及交换2个变量的3种方法
- 交换两个值,不用临时变量(C位运算)
- 不用临时变量也可以交换变量的值
- 不用第三个变量实现a,b的值交换
- C/C++/Java不使用临时变量实现两个数的交换
- 不用第三个变量实现a,b的值交换
- 黑马程序员之ADO.NET学习笔记:不用第三个变量,实现两数交换
- 【转】不用临时变量也可以交换变量的值