两个变量值交换 异或运算实现方法
2008-11-22 11:23
239 查看
这是我最近又研究发现的另外一种用于交互两个变量值而无需要第三个变量来实现的
这里用到异或(XOR)运算:'^'.用二进制的异或运算例如:0^1=1,0^0=0,100^010=110
代码如下:
#include <iostream>
using namespace std;
void main()
{
int a=3;
int b=5;
a=a^b;
b=a^b;
a=a^b;
cout<<"a="<<a<<","<<"b="<<b<<endl;
}
这里的a,b值是可以任意的,0或者-2等,但是在我写的上一篇中的乘除中就不能交换'0'值了。
非常欢迎你们还又有更为经典的方法和我分享!
这里用到异或(XOR)运算:'^'.用二进制的异或运算例如:0^1=1,0^0=0,100^010=110
代码如下:
#include <iostream>
using namespace std;
void main()
{
int a=3;
int b=5;
a=a^b;
b=a^b;
a=a^b;
cout<<"a="<<a<<","<<"b="<<b<<endl;
}
这里的a,b值是可以任意的,0或者-2等,但是在我写的上一篇中的乘除中就不能交换'0'值了。
非常欢迎你们还又有更为经典的方法和我分享!
相关文章推荐
- 黑马程序员__三种方法实现两个变量值的交换
- 通过异或运算实现两个变量的交换(不需借助第三个变量)
- 编译运行实现两个变量值交换的方法
- C语言三种方法实现两个变量值的交换
- 为什么异或运算可以实现两个整数的交换,而无需借助第3个临时变量
- 深入理解异或运算 xor 的含义——再探不使用加减乘除实现加法运算、不使用额外空间交换两个变量的值
- 用异或运算实现两个数字的交换(装x)
- 异或运算实现两个整数的交换
- 黑马程序员_C语言三种方法实现两个变量值的交换
- 实现两个变量值交换的三种方法
- 交换两个变量值的三种方法(Java实现)
- 使用异或运算实现中两个变量互换的方法
- java中把两个变量进行值交换,通过异或两次运算就能实现值互换。
- 三种方法实现不引入变量交换两个变量值
- 实现两个变量值交换的3种方法
- 为什么异或运算可以实现两个整数的交换,而无需借助第3个临时变量
- 三种方法实现不引入变量交换两个变量值
- Java中异或运算实现两个整数的交换以及其功能函数实现
- 在不借助第三方变量情况下实现两个变量的交换(借助于异或运算)
- JavaScript交换两个变量值的四种方法