首页 > 代码库 > 两个变量进行交换

两个变量进行交换

int iVar=18;
int jVar=10;

cout<<"|——————————————————|"<<endl;
cout<<"|            转换前iVar="<<iVar<<"           |"<<endl;
cout<<"|            转换前jVar="<<jVar<<"           |"<<endl;
cout<<"|------------------------------------|"<<endl;
iVar=iVar^jVar;
jVar=iVar^jVar;
iVar=jVar^iVar;
cout<<"|——————————————————|"<<endl;
cout<<"|            转换后iVar="<<iVar<<"           |"<<endl;
cout<<"|            转换后jVar="<<jVar<<"           |"<<endl;
cout<<"|------------------------------------|"<<endl;

说明:一般我们交换的时候一般都是用三个变量进行交换,然而对于俩个变量进行交换了解可能较少,该段代码

主要用到了异或运算“^”,该算法的功能就是对于两个2进制数相同为0,相异为1.x=x^y;y=x^y=x^y^y;

x=y^x=x^y^y^x^y;