欢迎访问 生活随笔!

生活随笔

当前位置: 首页 >

【异或交换原理】按位进行异或操作,实现数的交换

发布时间:2025/1/21 43 豆豆
生活随笔 收集整理的这篇文章主要介绍了 【异或交换原理】按位进行异或操作,实现数的交换 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

用按位异或来交换数原理是什么?

比如,

int x=7,y=8; x=x^y; y=x^y; x=x^y; 结果x=8,y=7;

那么,你写的例子就是利用异或的方法将两个数交换,就如同:

int x=7,y=8; x=x+y; y=x-y; x=x-y;它们的道理一样,你不妨仔细体会一下!

好,接下来进入正题....

 

实际原理就是数字A异或B两次,就得到A。而B被A异或两次,就得到B。
    

int x = 7; int y = 8; x = x^y; //x被y异或一次 y = x^y; //此时x存放的是x与y的异或,因此相当于被y又异或一次,x被y异或两次,得到x并赋给y x = x^y; //此时x存放的是x与y的异或,而y存放的就是x的值,因此再异或一次y就相当于异或x一次就得到x

总结

以上是生活随笔为你收集整理的【异或交换原理】按位进行异或操作,实现数的交换的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。