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

发布时间:2020-07-05 05:40:49 作者:hgditren
来源:网络 阅读:512

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


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;









推荐阅读:
  1. php不用第三个变量,交换两个数的值
  2. 不使用中间变量交换两个数的值

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

二进制 十进制 第三

上一篇:从贝叶斯公式到垃圾邮件的识别

下一篇:vue路由组件左右切换(兼听手机返回键或自写按钮)

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》