第九十四章 邏輯門 下
(本章已于2022年7月27~28日重寫)
現(xiàn)在,我們已經(jīng)知道了三道邏輯門:
非門(NOT Gate)——反轉(zhuǎn)信號
與門(AND Gate)——全部輸入都為1才會輸出1
或門(OR Gate)——部分輸入為1就會輸出1
這三道是最簡單的邏輯門。在這一章,我們將會來看看復雜一點的五道門(其實也沒多復雜)。
或非門(NOR Gate),簡單來說,就是或門+非門。啥意思呢?我們來看一看或非門長什么樣子:
◆┊(這里的拉桿為R1)
空┊!(插圖94-1)
◆┊(這里的拉桿為R2)
┊······紅石線
?。 ぁぁぁぁぁ輸出用紅石火把
◆······R輸入用拉桿
這就是或非門,讓我們拿它和或門對比一下:
◆┊
空┊┈
◆┊
┈······C輸出紅石線
你會發(fā)現(xiàn)或非門相比或門,僅僅就是把輸出的紅石線改成紅石火把。但就是這么一個小小的改變,會有什么用?
我們來看看或非門的特性:
當R1=0 R2=0時 C=1
當R1=1 R2=0時 C=0
當R1=0 R2=1時 C=0
當R1=1 R2=1時 C=0
不難發(fā)現(xiàn),對于或非門來說,只要有部分輸入為1,就會輸出0,必須要所有輸入都為0才會輸出1。等等,讓我們回顧一下或門的特性:
『或門只要部分輸入為1時,就會輸出1。也就是當部分條件為真(true)時,就會返回真(true)』
這個特性......完全是相反的啊。
沒錯,或非門,其實就是在或門的基礎上對或門的輸出動了點手腳,加了個『非門』來反轉(zhuǎn)信號,所以才被稱作『或非門』,也因此具有和或門完全相反的特性。
同樣的,既然有『或非門』,那自然就有『與非門』。
與非門(NAND Gate),具有和與門完全相反的特性。與門的特性是『要全部輸入都為1時,才會輸出1』,所以相反的與非門的特性就是『要全部輸入都為1時,才會輸出0』:
當R1=0 R2=0時 C=1
當R1=1 R2=0時 C=1
當R1=0 R2=1時 C=1
當R1=1 R2=1時 C=0
最簡單的與非門,也就是在與門的基礎上去掉C輸出的紅石火把,換成普通的紅石粉(不是加上一個非門嗎?):
?◆⊕(這里的拉桿為R1)
空┊┈(插圖94-2)
??◆⊕(這里的拉桿為R2)
┊······紅石線,在這邊紅石線下面要有任意完整方塊,使得它和旁邊兩個紅石火把齊平
?⊕······一個完整方塊上面插著紅石火把的結(jié)構(gòu)
┈······C輸出用紅石線
?◆······R輸入用拉桿
異或門(XOR gate),雖然帶有『或門』字樣,但其實它的特性和或門沒有太大關(guān)系。異或門的結(jié)構(gòu)有些復雜:
◆?⊕!─┈?。ㄟ@里的拉桿為R1)
空┊┈!█|(插圖94-3)
◆?⊕!─┈!(這里的拉桿為R2)
┊······紅石線,在這邊紅石線下面要有任意完整方塊,使得它和旁邊兩個紅石火把齊平
?⊕······一個完整方塊上面插著紅石火把的結(jié)構(gòu)
┈······紅石線,在這邊紅石線下面要有任意完整方塊,使得它高于地平線1米
─······地平線上的紅石線
|······地平線上的紅石線,作為C輸出點
?。 ぁぁぁぁぁぜt石火把
?◆······R輸入用拉桿
異或門具有如下特性:
當R1=0 R2=0時 C=0
當R1=1 R2=0時 C=1
當R1=0 R2=1時 C=1
當R1=1 R2=1時 C=0
也就是說,異或門必須在所有輸入有不一致的情況下才會輸出1,輸入都一樣反而會輸出0。也就是當所有條件有不同時,才會返回真(true)。這就是為什么『異或門』開頭為『異』,這個『異』就是指『不一樣的輸入』。
同或門(XNOR gate)的特性和異或門完全相反,它的特性是這樣的:
當R1=0 R2=0時 C=1
當R1=1 R2=0時 C=0
當R1=0 R2=1時 C=0
當R1=1 R2=1時 C=1
也就是說,同或門必須要所有輸入一致才會輸出1,輸入不一致反而會輸出0。這就是為什么這類邏輯門叫做『同或門』,其中的『同』字就代表『相同的輸入』
同或門的結(jié)構(gòu)其實就是在異或門的基礎上套了個非門來反轉(zhuǎn)輸出:
◆?⊕!─┈?。ㄟ@里的拉桿為R1)
空┊┈!█|┈!(插圖94-4)
◆?⊕!─┈?。ㄟ@里的拉桿為R2)
就因為同或門本質(zhì)上是異或門+非門,所以同或門又被稱為異或非門。
上面這些門都是較為簡單并且特性較容易理解的邏輯門,所以本章就到這里了?
還有最后一個門:蘊含門(IMPLIES Gate)
蘊含門聽起來很高大上,但其實本質(zhì)上只是在普通開開關(guān)關(guān)的兩個輸入中的一個加了個非門來反轉(zhuǎn)信號:
◆?┈█?。ㄟ@里的拉桿為R1)
□□□┊┈C(插圖94-5)
□◆?┈┊(這里的拉桿為R2)
┊······地平線上的紅石線
█······任意完整方塊
┈······地平線上的紅石線
??!······紅石火把
?◆······R輸入用拉桿
C······輸出
□······沒有任何東西
蘊含門具有如下特性:
當R1=0 R2=0時 C=1
當R1=1 R2=0時 C=0
當R1=0 R2=1時 C=1
當R1=1 R2=1時 C=1
可見,蘊含門的邏輯較為特殊,它必須要在R1輸入1且R2輸入0的情況下才能輸出0,也就是必須要第一個條件為真(true),第二個條件為假(false)才會返回假(false)。
這就是本章的全部內(nèi)容,也就是五個邏輯門:或非門、與非門、異或門、同或門和蘊含門
其實邏輯門還有很多很多種造法,如果你對此感興趣,可以在網(wǎng)上谷歌或百度一下(你就知道[滑稽])。
另外,其實像普通『R=1 C=1;R=0 C=0』的開就開,關(guān)就關(guān)的這種紅石電路,其實也是邏輯門哦!