位异或运算符,是怎么计算的

是怎么用位异或运算符实现两个数互转的啊,完全看不懂... 是怎么用位异或运算符实现两个数互转的啊,完全看不懂 展开
 我来答
祖昱聂朵儿
2019-03-21 · TA获得超过3534个赞
知道大有可为答主
回答量:3074
采纳率:25%
帮助的人:171万
展开全部
异或运算相同位为0,不同位为1,并且支持交换律,是按二进制算的,也就是先把a,b换成二进制
b的每一位都与自己的每一位相同,所以每一位都是0,所以b^b=00000000(所有位都是0),a的0位与0的异或为0,1位与0位的异或为1,所以a^00000000=a
所以
a^b^b=a;a^b^a=b;
所以
a=a^b
;
b=a^b;//此时因为a=a^b
;,所以b=(a^b
)^b=a;
a=a^b;//此时的a还是等于a^b,但是b=a,所以这时候a=a^b=(a^b)^a=b
这样就互换了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式