【异或交换原理】按位进行异或操作,实现数的交换
来源:互联网 发布:mac怎么转换系统 编辑:程序博客网 时间:2024/05/16 18:07
用按位异或来交换数原理是什么?
比如,
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并赋给yx = x^y; //此时x存放的是x与y的异或,而y存放的就是x的值,因此再异或一次y就相当于异或x一次就得到x
0 0
- 【异或交换原理】按位进行异或操作,实现数的交换
- 异或实现两个数的交换
- 异或来交换数原理
- 宏定义交换变量 之 异或交换数原理
- 利用异或进行两个数的交换
- 用异或进行两个数交换的陷阱
- 使用异或交换两个数的原理
- 异或实现交换两个数
- 算法<异或操作交换两个数的坑>
- 通过异或操作交换两数的值
- 【C/C++】异或操作巧妙实现两个数的交换操作
- 用异或实现两个数的交换的问题
- 异或运算实现两个数的交换
- 使用异或实现两个数的交换
- 异或运算实现两个数的交换
- 异或运算实现两个数的交换
- 异或运算实现两个数的交换
- 异或运算实现两个数的交换
- 学习ThinkPHP3.2.2:video12,后台目录的组织
- BZOJ 2705: [SDOI2012]Longge的问题(euler函数)
- 数据库以及线程发生死锁的原理及必要条件,如何避免死锁
- 使用JBoss Tool反向创建PO类
- H-Index -- leetcode
- 【异或交换原理】按位进行异或操作,实现数的交换
- linux 下文件的压缩与解压(3)
- 学习ThinkPHP3.2.2:video12,更改模板路径替换规则
- C#与单片机串口通信 “已关闭safe handle”问题
- Lombox 配置使用
- 学习ThinkPHP3.2.2:video12,建立用户表的sql
- 函数模板
- unity官方demo学习之Stealth(十三)摄像机跟踪
- 学习ThinkPHP3.2.2:video12,插入一条用户数据SQL