异或运算交换两个数
来源:互联网 发布:c 网络编程教程 编辑:程序博客网 时间:2024/06/05 10:57
a = a^b;b = a^b;a = a^b;
这样就可以不借助第三个变量实现两个数的交换。
基于如下几个性质:
- 任意变量x与自身异或结果为0,即:
x^x = 0
- 任意变量x与0进行异或运算,结果不变,即:
x^0 = x
- 异或运算的结合性:
a^b^c = (a^b)^c = a^(b^c)
- 异或运算的交换性:
a^b = b^a
再来解释上面的交换为什么可行:
a = a^b
b = a^b --> b = (a^b)^b = a^(b^b) = a^0 = a
,完成了a的值交给b的过程。 a = a^b --> a = (a^b)^a = (b^a)^a = b^(a^a) = b^0 = b
完成了b的值交给a的过程。
0 0
- 用异或运算交换两个数
- 异或运算交换两个数
- 异或运算实现两个数的交换
- 异或运算实现两个数的交换
- 异或运算实现两个数的交换
- 异或运算实现两个数的交换
- java异或运算交换两个数的陷阱
- 异或运算实现两个数的交换
- 异或运算实现两个数的交换
- 异或运算实现两个数的交换
- 异或运算实现两个数的交换
- 异或运算实现两个数的交换
- 异或运算实现两个数的交换
- 异或运算实现两个数的交换
- 异或交换两个数
- C语言(^)位异或运算符运算符 交换两个数位置
- 异或运算交换两个整数
- 利用异或规律交换两个数
- 搭建一个简单、易用的 Android 项目框架之BaseActivity(一)
- how to manage swift3 i-- loop
- source insight4.08破解方法
- 最简单的RxJava上手指南(一)
- 欧拉函数-洛谷P2303 [SDOi2012]Longge的问题
- 异或运算交换两个数
- Android Animation 动画(一)--Tween动画
- python实现对以‘&’连接的参数串排序后计算md5
- [IOS APP]老梁故事汇(会)
- Activity的生命周期
- 算典04_例题_03_UVA-133
- No space left on device: AH00023: Couldn't create the proxy mutex 解决方法
- Hive内嵌模式和本地模式安装方法详解
- Android -- RecyclerView实现顶部吸附效果