異或性質運用

2021-09-12 08:00:20 字數 398 閱讀 2511

異或(^)的乙個很重要的性質是: a ^ a = 0          a ^ 0 = a

下面總結幾道運用到其性質的題目。

例1:有兩個整型亂序陣列,其中乙個陣列比另外乙個多乙個數字,其他數字都一樣,讓你求出這兩個陣列相差的那個數字。(要求時間複雜度為o(n))。

思路:先分別求兩個陣列的異或,然後再將兩個陣列的異或結果再進行異或,最終結果就是答案。

**:

int diffnumoftwoarr(vectornum1, vectornum2)

google面試題的變形:乙個陣列存放若干整數,乙個數出現奇數次,其餘數均出現偶數次,找出這個出現奇數次的數?

奇數個異或是本身,偶數個是0;0^a=a;異或有交換律

異或的性質及運用

文章 異或是一種基於二進位制的位運算,用符號xor或者 表示,其運算法則是對運算子兩側數的每乙個二進位制位,同值取0,異值取1。它與布林運算的區別在於,當運算子兩側均為1時,布林運算的結果為1,異或運算的結果為0。簡單理解就是不進製加法,如1 1 0,0 0 0,1 0 1。性質1 交換律 2 結合...

異或的運用

異或是一種基於二進位制的位運算,用符號xor或者 表示,其運算法則是對運算子兩側數的每乙個二進位制位,同值取0,異值取1。它與布林運算的區別在於,當運算子兩側均為1時,布林運算的結果為1,異或運算的結果為0。異或的性質 1 交換律 a b b a 2 結合律 a b c a b c 3 對於任意的a...

異或運算的性質

異或是一種基於二進位制的位運算,用符號xor或者 表示,其運算法則是對運算子兩側數的每乙個二進位制位,同值取0,異值取1。它與布林運算的區別在於,當運算子兩側均為1時,布林運算的結果為1,異或運算的結果為0。簡單理解就是不進製加法,如1 1 0,0 0 0,1 0 1。性質 1 交換律a b a b...