异或的运用-交换

异或(^):不同为1,相同为0。或者理解为不进位的二进制加法。

a = a ^ b;---1
b = a ^ b;---2
a = a ^ b;---3

其结果是两者交换了,为什么呢?
由①式可得:新的a(记为new_a) = a ^ b
②式:b = new_a ^ b = a ^ b ^ b = a ^ (b ^ b)=a ^ 0 = a 即new_b = a
③式:a = new_a ^ new_b = a ^ b ^ a = b

这样就完成了交换。

全部评论

相关推荐

但听说转正率很低,我现在有在实习了,好纠结要不要去
熬夜脱发码农:转正率低归低,但是实习的经历你可以拿着,又不是说秋招不准备了
点赞 评论 收藏
分享
05-16 11:16
已编辑
东华理工大学 Java
牛客73769814...:盲猜几十人小公司,庙小妖风大,咋不叫她去4️⃣呢😁
牛客创作赏金赛
点赞 评论 收藏
分享
见见123:简历没有啥问题,是这个社会有问题。因为你刚毕业,没有工作经历,现在企业都不要没有工作经历的。社会病了。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务