異或是一種基於二進位制的位運算,用符號xor表示,其運算法則是對運算子兩側數的每乙個二進位制位,同值取0,異值取1。它與布林運算的區別在於,當運算子兩側均為1時,布林運算的結果為1,異或運算的結果為0。
異或運算最常見於多項式除法,不過它最重要的性質還是自反性:a xor b xor b = a,即對給定的數a,用同樣的運算因子(b)作兩次異或運算後仍得到a本身。這是乙個神奇的性質,利用這個性質,可以獲得許多有趣的應用。
例如,所有的程式教科書都會向初學者指出,要交換兩個變數的值,必須要引入乙個中間變數。但如果使用異或,就可以節約乙個變數的儲存空間:
設有a,b兩個變數,儲存的值分別為a,b,則以下三行表示式將互換他們的值
表示式 (值)
a=a xor b (a xor b)
b=b xor a (b xor a xor b = a)
a=a xor b (a xor b xor a = b)
類似地,該運算還可以應用在加密,資料傳輸,校驗等等許多領域。
異或運算的性質
異或是一種基於二進位制的位運算,用符號xor或者 表示,其運算法則是對運算子兩側數的每乙個二進位制位,同值取0,異值取1。它與布林運算的區別在於,當運算子兩側均為1時,布林運算的結果為1,異或運算的結果為0。簡單理解就是不進製加法,如1 1 0,0 0 0,1 0 1。性質 1 交換律a b a b...
異或的性質和運算
異或是一種基於二進位制的位運算,用符號xor或者 表示,其運算法則是對運算子兩側數的每乙個二進位制位,同值取0,異值取1。它與布林運算的區別在於,當運算子兩側均為1時,布林運算的結果為1,異或運算的結果為0。簡單理解就是不進製加法,如1 1 0,0 0 0,1 0 1。性質1 交換律 2 結合律 3...
異或的性質和運算
異或是一種基於二進位制的位運算,用符號xor或者 表示,其運算法則是對運算子兩側數的每乙個二進位制位,同值取0,異值取1。它與布林運算的區別在於,當運算子兩側均為1時,布林運算的結果為1,異或運算的結果為0。簡單理解就是不進製加法,如1 1 0,0 0 0,1 0 1。性質 1 交換律 2 結合律 ...