2017-10-14 124 views
-1

我正在做一些任務,並開始建造只有NAND門的幾個門。 在這一刻我已經下面:AND,NOT,NAND布爾代數 - 構建一個具有NAN和AND的OR門

構建ANDNOT不是很差勁,因爲很明顯如何通過查看其真值表來操縱NAND以獲得預期結果。但是我已經感覺到我做的事情不正確。現在我堅持建立OR大門,因爲我只是在查看真值表時無法找到任何關係。

我不需要一個答案,而是解釋和方法,我可以在將來建造其他大門時應用。

謝謝。

回答

1

您有:

a + b 

重寫

~~(a + b) // Invert twice 

然後使用德摩根定律(即~(X + Y) = ~X * ~Y)和重寫

~(~a * ~b) 

現在你已經可以使用的不是你在a和b上都有,然後跟着一個NAND

像:

enter image description here

BTW - 免費手繪圖油漆不容易:-)

+0

感謝您的回答,並描述您如何得到解決方案,但仍然沒有意義,我覺得爲什麼我不需要重寫'a + b'到'~~(a + b)'從你得到這個表達的地方開始。你可以用更多的細節解釋一下,或者給我一些資源的鏈接嗎?謝謝! – deividaspetraitis

+0

@deividaspetraitis - 在布爾代數中,反轉兩次總是合法的,因爲它不會改變表達式的結果。在重寫布爾表達式時,通常可以嘗試使用「技巧」。我只是把它寫成了從a + b到'〜(〜a *〜b)'的過程中的一個步驟 - 就像數學證明一樣。 – 4386427

0

顯然〜X = X NAND使用德摩根二重性X.現在,我們有

X or Y = ~(~X and ~Y) = (X nand X) nand (Y nand Y) 
+0

感謝您的回答!你能解釋爲什麼'X或Y =〜(〜X和〜Y)'?它來自De Morgan Duality?也許你有鏈接到一些資源,我可以看看,解決方案很清楚,但我仍然無法通過我自己找到它。謝謝。 – deividaspetraitis

+0

@deividaspetraitis參見[De Morgan's laws](https://en.wikipedia.org/wiki/De_Morgan%27s_laws):'〜(X或Y)=〜X和〜Y'。現在向雙方申請「不」,可以得到理想的結果。 – Matt