跳轉到內容

電子學/布林代數

來自華夏公益教科書

布林代數

[編輯 | 編輯原始碼]

布林代數是由喬治·布林 (1815-1864) 在他於 1854 年發表的論文《思想規律的研究,其上建立了邏輯和機率的數學理論》中創造的。它當時幾乎沒有應用,但最終科學家和工程師意識到他的系統可以用於建立高效的計算機邏輯。布林系統有兩個狀態:**真** (T) 或 **假** (F)。這可以用多種不同的方式表示,例如開或關、1 或 0、是或否等等。這些狀態由三種基本運算來操作,稱為邏輯運算子:**與**、**或** 和 **非**。這些運算子接收某些輸入,並根據預定的結果表產生輸出。例如,與運算子接收兩個(或更多)輸入,並且僅當兩個(或所有)輸入都為“開”時才返回“開”結果。

  • 在這些表中,T 表示“真”或“是”或 1(在電子學中),並且
  • F 表示“假”或“否”或 0(在電子學中)。
  • 例如,與表的第 1 行說,如果 A 為 F 且 B 為 F,則結果也為 F。這也常被稱為如果 A 為 0 且 B 也為 0,則 A 與 B = 0 乘以 0 = 0
  • 同樣,在與表的底部,1 乘以 1 等於 1。
  • 檢視或表,使用加號代替乘號:0 加 0 等於 0,其中 0 為 F,1 為 T。只有 0 和 1 存在,因此如果加法結果大於 1,則將其更改為 1。
  • 第三張表顯示了否定:無論是什麼,將其更改為另一個;0 更改為 1,1 更改為 0。
真值表
A B
F F F
F T F
T F F
T T T
A B
F F F
F T T
T F T
T T T
A
F T
T F

這些簡單的運算子很好,因為它們允許我們建立非常簡單的邏輯電路:如果使用者投入一枚 25 美分的硬幣並且按下可樂按鈕,則掉落一瓶可樂。

但是,有一些方法可以將這些表示式組合起來,以建立更復雜但有用的數位電路。透過對相同輸入使用多個運算子,可以建立更復雜的輸出。類似於 A 與 B 或 C 這樣的表示式將具有以下真值表。

A 與 B 或 C
A B C X
0 0 0 0
0 0 1 1
0 1 0 0
0 1 1 1
1 0 0 0
1 0 1 1
1 1 0 1
1 1 1 1

這個真值表遵循規則,如果 A 和 B 為真,或 C 為真,則 X 為真

練習:遍歷表中的每種情況,並使用上述語句進行檢查。

形式數學運算子

[編輯 | 編輯原始碼]

與用 表示,即 A 與 B 為 .

或用 表示,即 A 或 B 為 .

NOT 用 表示,即 NOT A 為 .

如果將這三個運算子組合起來,就可以建立 NOR 和 NAND。因此,A NOR B 為 。NAND 為 。其他符號也是有效的,在數學和工程中會產生許多不同的組合。還沒有達成普遍的標準。但是,大多數來源會明確說明所使用的特定符號。

布林代數定律

[edit | edit source]

布林代數就像普通代數一樣,也有一些規則。這些規則是結合律、分配律、交換律和德摩根定律。結合律、交換律和分配律只適用於 AND 和 OR 運算子。在普通代數中,一些定律可能看起來微不足道,但在其他代數中則不然。

結合律

[edit | edit source]

結合律是代數的性質,即項的求值順序無關緊要。

或者

維基百科:結合律

分配律

[edit | edit source]

分配律是指運算子可以應用於括號內的項的性質。

或者

維基百科:分配律

交換律

[edit | edit source]

交換律是指運算子的應用順序無關緊要的性質。

或者

維基百科:交換律

德摩根定律

[編輯 | 編輯原始碼]

德摩根定律是“非”或否定運算子不可分配這一事實的結果。

或者

需要注意的是

或者

這可以看作是“與”運算優先順序更高,或者“與”和“或”運算之間不滿足結合律,或者是對分配律的錯誤應用。

另一種看待這個問題的方法是使用第二種符號時,可能會應用我們對普通代數規則的理解。顯然,可以將“或”運算看作加法,將“與”運算看作乘法。如果這是高中代數,我們永遠不會犯這種錯誤。

所有這些定律導致了許多用於簡化布林代數的規則。

或者

簡化以下表達式。

或者

對於數字 1,使用規則 7,我們得到。

或者

這恰好是規則 5,所以答案為零。在數字 2 中,我們可以提取 A。給出

或者

括號內的表示式是規則 8。所以答案是 A。

另請參閱

[編輯 | 編輯原始碼]

維基百科:布林邏輯

華夏公益教科書