2009-11-12 87 views
1
(A Or B) And Not (A And B) 
+0

不是剛剛上牀睡覺在430上午。 – ChaosPandion 2009-11-12 17:05:16

+0

在8分鐘後能看到60次?看起來好像有人急於抓住簡單的代表。 – ChaosPandion 2009-11-12 17:08:29

+1

在您的問題中編輯的'新手'標籤可以使您的問題符合您的要求,而不是您。你不必親自接受,但無論你什麼時候睡覺,這個問題都是一個初學者問題。 – 2009-11-12 17:08:50

回答

19

您正在尋找XOR,具體取決於它可能是單一操作的語言。

+0

在你的符號中,那將是:A Xor B – 2009-11-12 17:02:59

+0

應該被編譯器/解釋器優化成單個操作,我希望! – 2009-11-12 17:03:21

+1

我的大腦今天不工作。 – ChaosPandion 2009-11-12 17:06:13

3

如果你在原子操作中有XOR或平等,是的,它正是前者或後者的否定。

4

是不是隻是一個獨家或?有時以此語法表示:A^B

+0

我從來沒有見過這樣的語法。如果你向任何邏輯學家證明了這一點,他們會說這意味着「A和B」:XOR通常在「O」中寫爲「+」,或通過它在「\」中寫爲「=」。 – Satanicpuppy 2009-11-12 17:14:26

+3

這是基於C的語法,它是我不需要的東西。 – ChaosPandion 2009-11-12 17:16:17

+0

@Satanicpuppy顯然你不是一個C程序員......它是按位異或操作符.....責備K&R! – ennuikiller 2009-11-12 18:29:45

12

它是XOR(請參見下表)。

A B (A|B) (A&B) !(A&B) (A|B)&(!(A&B)) 
T T T  T  F  F 
T F T  F  T  T 
F T T  F  T  T 
F F F  F  T  F

您還可以使用不等於(A != B)

希望這會有所幫助。

+0

語言缺少原生異或操作符的好方法。 – 2009-11-12 17:12:24

+0

我同意,很好的技巧,但我認爲它隱藏了表達的意圖。 – ChaosPandion 2009-11-12 17:19:05

+0

!=是對這個問題的正確答案。簡單而重要。 – Satanicpuppy 2009-11-12 17:21:57

0

正如其他人所說,這是異或。請注意,解決這個問題的最佳方法是使用NawaMan的邏輯表,或者使用Karnaugh map。在EE中,卡諾圖更爲常見,因爲它們更容易使用多輸入的複雜表達式。

如果你正在硬件上實現這一點,卡諾圖幾乎總是最好的方式,因爲它們給你實現所需輸出所需的最少門數。另外,與軟件不同,硬件中可能沒有可用的異或門,但每個門可以表示爲其他門的組合。 AND可以由NAND等製造,這將增加所需門的數量,但可以降低設備的成本。