邏輯異或運算是什麼,什麼是異或運算

2021-05-16 22:44:08 字數 5010 閱讀 6984

1樓:匿名使用者

1、異或(xor)是一個數**算符。它應用於邏輯運算。

2、異或的數學符號為「⊕」,計算機符號為「xor」。其運演算法則為:a⊕b = (¬a ∧ b) ∨ (a ∧¬b)

3、如果a、b兩個值不相同,則異或結果為1。如果a、b兩個值相同,異或結果為0。

4、邏輯異或運算簡稱異或。英文為exclusive or,或縮寫成xor。

5、異或也叫半加運算,其運演算法則相當於不帶進位的二進位制加法:二進位制下用1表示真,0表示假,則異或的運演算法則為:0⊕0=0,1⊕0=1,0⊕1=1,1⊕1=0(同為0,異為1),這些法則與加法是相同的,只是不帶進位,所以異或常被認作不進位加法。

一、運演算法則

1、a ⊕ a = 0

2、a ⊕ b = b ⊕ a

3、a ⊕b ⊕ c = a ⊕ (b ⊕ c) = (a ⊕ b) ⊕ c;

4、d = a ⊕ b ⊕ c 可以推出 a = d ⊕ b ⊕ c.

5、a ⊕ b ⊕ a = b

二、邏輯表示式:f=ab』⊕a』b((ab』⊕a』b)』=ab⊙a』b』,⊙為「同或」運算)

2樓:51全心全意

邏輯異或運算簡稱異或。異或,英文為exclusiveor,縮寫成xo。異或(xor)是一個數**算符。

它應用於邏輯運算。異或的數學符號為「⊕」,計算機符號為「xor」。其運演算法則為:

a⊕b=(¬a∧b)∨(a∧¬b)

如果a、b兩個值不相同,則異或結果為1。如果a、b兩個值相同,異或結果為0。

異或也叫半加運算,其運演算法則相當於不帶進位的二進位制加法:二進位制下用1表示真,0表示假,則異或的運演算法則為:0⊕0=0,1⊕0=1,0⊕1=1,1⊕1=0(同為0,異為1),這些法則與加法是相同的,只是不帶進位。

邏輯異或運算性質

1、交換律

2、結合律(即(a^b)^c==a^(b^c))

3、對於任何數x,都有x^x=0,x^0=x

4、自反性axorbxorb=axor0=a

異或運算最常見於多項式除法,不過它最重要的性質還是自反性:axorbxorb=a,即對給定的數a,用同樣的運算因子(b)作兩次異或運算後仍得到a本身。這是一個神奇的性質,利用這個性質,可以獲得許多有趣的應用。

例如,所有的程式教科書都會向初學者指出,要交換兩個變數的值,必須要引入一箇中間變數。但如果使用異或,就可以節約一個變數的儲存空間:設有a,b兩個變數,儲存的值分別為a,b,則以下三行表示式將互換他們的值表示式(值):

a=axorb(axorb)

b=bxora(bxoraxorb=a)

a=axorb(axorbxora=b)

類似地,該運算還可以應用在加密,資料傳輸,校驗等等許多領域。

邏輯異或運算怎麼算

邏輯異或運算簡稱異或。英文為exclusiveor,或縮寫成xor。

異或(xor)是一個數**算符。它應用於邏輯運算。異或的數學符號為「⊕」,計算機符號為「xor」。其運演算法則為:

a⊕b=(¬a∧b)∨(a∧¬b)

如果a、b兩個值不相同,則異或結果為1。如果a、b兩個值相同,異或結果為0。

異或邏輯

邏輯表示式:f=ab』⊕a』b((ab』⊕a』b)』=ab⊙a』b』,⊙為「同或」運算)

異或邏輯的真值表如圖1所示

示,其邏輯符號如圖2所示。異或邏輯的關係是:當ab不同時,輸出p=1;當ab相同時,輸出p=0。「⊕」是異或運算子號,異或邏輯也是與或非邏輯的組合,其邏輯表示式為:

p=a⊕b

由圖1可知,異或運算的規則是

0⊕0=0,0⊕1=1

1⊕0=1,1⊕1=0

口訣:相同取0,相異取1

事實上,xor在英文裡面的定義為eitherone(isone),butnotboth,也即只有一個為真(1)時,取真(1)。

邏輯異或運算應用

1-1000放在含有1001個元素的陣列中,只有唯一的一個元素值重複,其它均只出現一次。每個陣列元素只能訪問一次,設計一個演算法,將它找出來;不用輔助儲存空間,能否設計一個演算法實現?

解法一、顯然已經有人提出了一個比較精彩的解法,將所有數加起來,減去1+2+.。.+1000的和。

這個演算法已經足夠完美了,相信出題者的標準答案也就是這個演算法,唯一的問題是,如果數列過大,則可能會導致溢位。

解法二、異或就沒有這個問題,並且效能更好。

將所有的數全部異或,得到的結果與1^2^3^.。.^1000的結果進行異或,得到的結果就是重複數。

但是這個演算法雖然很簡單,但證明起來並不是一件容易的事情。這與異或運算的幾個特性有關係。

首先是異或運算滿足交換律、結合律。

所以,1^2^.。.^n^.。.^n^.。.^1000,無論這兩個n出現在什麼位置,都可以轉換成為1^2^.。.^1000^(n^n)的形式。

其次,對於任何數x,都有x^x=0,x^0=x。

所以1^2^.。.^n^.。.^n^.。.

^1000 = 1^2^.。.^1000^(n^n)= 1^2^.。.^1000^0 = 1^2^.。.

^1000(即序列中除了n的所有數的異或)。

令,1^2^.。.^1000(序列中不包含n)的結果為t

則1^2^.。.^1000(序列中包含n)的結果就是t^n。

t^(t^n)=n。

所以,將所有的數全部異或,得到的結果與1^2^3^.。.^1000的結果進行異或,得到的結果就是重複數。

當然有人會說,1+2+.。.+1000的結果有高斯定律可以快速計算,但實際上1^2^.。.^1000的結果也是有規律的,演算法比高斯定律還該簡單的多。

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

解法有很多,但是最好的和上面一樣,就是把所有數異或,最後結構就是要找的,原理同上

3樓:啦啦啦啦崔小淨

異或就是相同時為0,不同時為1。比如:1011和0110異或之後就是1101.

4樓:白又又

在c++中用 ^ 運算子實現按位異或運算。

expression1^expression2參與運算的兩個值,如果兩個相應bit位相同,則結果為0,否則為1。 即:

0^0 = 0,

1^0 = 1,

0^1 = 1,

1^1 = 0

簡單說,異或就是相同的出1,不同的出0

5樓:月似當時

邏輯異或運算簡稱異或。英文為exclusive or,或縮寫成xor。

異或(xor)是一個數**算符。它應用於邏輯運算。異或的數學符號為「⊕」,計算機符號為「xor」。其運演算法則為:

a⊕b = (¬a ∧ b) ∨ (a ∧¬b)如果a、b兩個值不相同,則異或結果為1。如果a、b兩個值相同,異或結果為0。

6樓:匿名使用者

區別在於異或是接位進行的,不等是按整體進行的

異或屬於位運算,把一個數以二進位制的形式對每一位進行異或運算

7樓:匿名使用者

異或邏輯運算(半加運算, xor)

異或運算通常用符號"⊕"表示,其運算規則為:

0⊕0=0 0同0異或,結果為0

0⊕1=1 0同1異或,結果為1

1⊕0=1 1同0異或,結果為1

1⊕1=0 1同1異或,結果為0

即兩個邏輯變數相異,輸出才為1

8樓:hの崽子

相同的為0,不同的為1。

~a*b + ~b*a=1。

什麼是異或運算

9樓:暖暖炊煙裊裊

異或,英文為exclusive or,或縮寫成xor異或(xor)是一個數**算符。它應用於邏輯運專算。異或的數學符號為「屬⊕」,計算機符號為「xor」。其運演算法則為:

a⊕b = (¬a ∧ b) ∨ (a ∧¬b)如果a、b兩個值不相同,則異或結果為1。如果a、b兩個值相同,異或結果為0。

異或也叫半加運算,其運演算法則相當於不帶進位的二進位制加法:二進位制下用1表示真,0表示假,則異或的運演算法則為:0⊕0=0,1⊕0=1,0⊕1=1,1⊕1=0(同為0,異為1),這些法則與加法是相同的,只是不帶進位。

異或略稱為xor、eor、ex-or

程式中有三種演運算元:xor、xor、⊕。

使用方法如下

z = x ⊕ y

z = x xor y

10樓:匿名使用者

1、異或(baixor)是一個數**算du符。它zhi應用於邏輯運算。

2、異或的dao數學符號專

為「屬⊕」,計算機符號為「xor」。其運演算法則為:a⊕b = (¬a ∧ b) ∨ (a ∧¬b)

3、如果a、b兩個值不相同,則異或結果為1。如果a、b兩個值相同,異或結果為0。

4、邏輯異或運算簡稱異或。英文為exclusive or,或縮寫成xor。

5、異或也叫半加運算,其運演算法則相當於不帶進位的二進位制加法:二進位制下用1表示真,0表示假,則異或的運演算法則為:0⊕0=0,1⊕0=1,0⊕1=1,1⊕1=0(同為0,異為1),這些法則與加法是相同的,只是不帶進位,所以異或常被認作不進位加法。

一、運演算法則

1、a ⊕ a = 0

2、a ⊕ b = b ⊕ a

3、a ⊕b ⊕ c = a ⊕ (b ⊕ c) = (a ⊕ b) ⊕ c;

4、d = a ⊕ b ⊕ c 可以推出 a = d ⊕ b ⊕ c.

5、a ⊕ b ⊕ a = b

二、邏輯表示式:f=ab』⊕a』b((ab』⊕a』b)』=ab⊙a』b』,⊙為「同或」運算)

邏輯運算中異或和與或怎麼計算?

11樓:匿名使用者

異或運算:兩個值不相同,則異或結果為真。例如:真異或假的結果是真,假異或真的結果也是真,真異或真的結果是假,假異或假的結果是假。

與或運算:這個不存在,是不是你筆誤了?接近的答案是:

與運算:邏輯乘法。兩個值中,若有一個假則結果為假。

或運算:邏輯加法。兩個值種,若有一個真則結果為真。

異或和同或是什麼邏輯關係

同或和異或互為非運算 異或 xor 是一個數 算符。它應用於邏輯運算。異或的數學符號為 計算機符號為 xor 其運演算法則為 a b a b a b 如果a b兩個值不相同,則異或結果為1。如果a b兩個值相同,異或結果為0。異或也叫半加運算,其運演算法則相當於不帶進位的二進位制加法 二進位制下用1...

1 什麼是或邏輯?其電路符號是?2 什麼是異或邏輯?其電路符號是

或門的邏輯關係是 只要輸入變數中有任意一個為1,輸出就為1 異或門的邏輯關係是 只要兩個輸入變數不一致,輸出就為1。或門和異或門的邏輯符號如下圖 或門的邏輯符號 異或門的邏輯符號 下面這個邏輯電路符號是什麼意思 三態門具有三種輸出狀態 高電平 低電平和高阻狀態。因為三態門在e 1時為普通與非門,輸出...

或 同或 異或三者到底有什麼關係啊

舉個例子來說 比如 抄襲a和b 如果a對b對 a或 baib就是 對的du a同或b是對的zhi a異或b就是錯的 a對b錯的情dao況 a或b對 a同或b錯 a異或b對 a錯b對的情況下跟a對b錯是一樣的 a錯b錯情況下 a或b錯 a同或b對 a異或b錯或就是a和只要對一個以上就對 同或就是a的情...