您的位置:首页 > 其它

异或运用--不借助第三个变量交换两个变量的值

2017-05-04 10:52 246 查看
在面试的时候经常遇到这样的题目:不借助第三个变量交换两个变量的值。今天在这里来详细分解以下这个题目。

int a=4;
int b=5;

声明两个整型变量a,b。计算出其二进制分别为a:0100,b:0101。下面开始正式计算

(1)a=a^b;

0100
^

0101
-----------------------
0001

此时a:0001,b不变(b:0101)。

(2)b=a^b;
0001
^
0101
----------------------
0100

此时a:0001,b:0100(即b的值为4)

(3)最后一步: a=a^b;
0001
^

0100
---------------
0101

此时a:0101,b:0100,转换二进制为十进制得到a=5,b=4;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  二进制 十进制