異或運算的基礎有點忘記了
先介紹一下。。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
第一個應用討論完畢