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

原问题:位异或运算符,是怎么计算的
分类:编程开发 > 最后更新时间:【2017-01-06 02:46:53】
问题补充:

是怎么用位异或运算符实现两个数互转的啊,完全看不懂

最佳答案

异或运算相同位为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

这样就互换了

最佳答案由网友  暗黑破坏牛  提供
公告: 为响应国家净网行动,部分内容已经删除,感谢网友理解。
5

分享到:

其他回答

暂无其它回答!

    推荐