位运算基础

异或运算的基础有点忘记了

先介绍一下。。2个数异或 就是对于每一个二进制位进行位运算

具有2个特殊的性质

1、一个数异或本身恒等于0,如5^5恒等于0;

2、一个数异或0恒等于本身,如5^0恒等于5。

3 满足交换律

 
1.交换数字
这个性质能利用与交换数字
先考虑加减改变法。
a=a+b
b=a-b;
a=a-b;;
 
实际上以第一个 A(与a区别)=a+b 作为临时的参数A(实际a+b) 完成
b=A-b=a+b-b=a;
a=A-a=(经过上面的运算 a==b了)=A-b;
 
用异或也是同理
A=a^b
b=a^b^b=a
a=A^a(经过上面的运算 a==b了)=A^b
第一个应用讨论完毕
原文地址:https://www.cnblogs.com/wangmenghan/p/5646632.html