XOR及其应用
XOR是什么?XOR就是單詞exclusive or的縮寫,翻譯成中文就是,異或。
關于異或是什么,以及異或自身的定律,本文不作討論。我們只需要記住一點,異或的最簡單的意義就是:
不同為1,相同為0
意思就是,如果a、b兩個值不相同,則異或結果為1。如果a、b兩個值相同,異或結果為0。
異或也叫半加運算,其運算法則相當于不帶進位的二進制加法:二進制下用1表示真,0表示假,則異或的運算法則為:
0⊕0=0,1⊕0=1,0⊕1=1,1⊕1=0(同為0,異為1),這些法則與加法是相同的,只是不帶進位,所以異或常被認作不進位加法。
如果需要交換兩個變量的值,我們通常的做法便是引入臨時變量,或者說是中間變量,這種方法簡單易懂,效率很高。如果我們想騷氣一些的話,可以使用異或來進行兩個變量的數據交換。
下面我們分別采用臨時變量和異或兩種方法來演示:
1.臨時變量法
2.異或法
private void swap (int a, int b) {a = a ^ b;b = b ^ a;a = a ^ b; }總結
- 上一篇: SQLite源码学习(40) balan
- 下一篇: XOR(异或)操作在密码算法中的应用