實用電子/邏輯/布林運算
布林代數(以數學家 喬治·布林 命名)是一種只處理 1 和 0 的算術形式。它只有三個運算子:加法、乘法和否定。我們將看到這些分別對應於或、與和非。
為了方便起見,有時會包含異或運算,我們將在 異或部分 中看到如何使用它。
變數用大寫字母表示,這與“真實”代數不同,在“真實”代數中可以使用小寫字母。
本頁面不涉及布林運算子的恆等式和性質,只涉及其與邏輯函式的等價關係。這些性質在 布林恆等式 頁面中討論。
由於 1 和 0 是布林代數中唯一允許的數字,因此不存在負數。
這意味著不存在減法,因為 0-1 等於 0+(-1)。-1 不是允許的數字,因此減法的概念在布林代數中毫無意義。
由於除法只是減法的變體,就像乘法是加法的變體一樣,因此除法在布林代數中也是毫無意義的。
考慮以下總和
前三個是有意義的,因為真實代數也是如此。然而,第四個語句不同,因為它違反了真實算術。布林代數不允許 2,因此它不能是答案,並且 1+1 肯定不等於 0,因此答案必須是 1。
| A | B | Q |
|---|---|---|
| A+B | ||
| 0 | 0 | 0 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 1 |
如果我們將上面的等式以表格形式顯示在左邊,很明顯布林加法運算子等效於邏輯 或。這就是邏輯或運算子使用加號作為其符號的原因
考慮以下等式
正如您所看到的,乘法在布林代數中的行為與在真實算術中的行為完全相同:任何乘以零的數都會變成零,任何乘以一的數都會保持不變。
您應該能夠看到乘法運算子與邏輯 與 運算子具有完全相同的效果,這就是為什麼與函式用乘法表示的原因
由於布林代數中只有兩個數字,如果我們知道一個變數的值,那麼我們也會自動知道它不是的數字的值。這個數字是該變數的補碼。因此,0 是 1 的補碼,而 1 是 0 的補碼。一個變數的補碼寫成該變數上有一條線
如果變數上不能畫線,例如在這樣的文字中,則在變數之前使用“¬”符號。如果變數上可以畫線,則不應使用此符號。有時,會在變數之後放置一個“撇號”(')符號,但決不應使用此符號。
補運算等效於邏輯非。
NOR 和 NAND
[edit | edit source]這兩個邏輯函式由它們各自的底層函式的補運算組成。
XOR 和 XNOR
[edit | edit source]XOR 不能表示為簡單的布林函式,如加法或乘法,因此,它不受布林代數的直接支援。然而,它確實有一個符號——圓圈中的加號。
XNOR 函式表示為
由於布林代數的規則和恆等式不適用於這個發明函式,因此,在編寫和簡化邏輯語句時,使用以下等效替代
- .
很容易理解這個替代是如何工作的。XOR 函式如果只有一個輸入為高電平,則輸出為高電平。在這種情況下,一個輸入的補運算等於另一個輸入。當輸入相同(即 XOR 函式返回低電平)時,一個輸入和另一個輸入的補運算將不同。因此,透過將第一個輸入與第二個輸入的補運算進行 AND 運算,並將第一個輸入的補運算與第二個輸入進行 AND 運算,我們始終可以在只有一個輸入為高電平時,在其中一個 AND 門的輸出處獲得一個高電平。透過將這兩個 AND 門的輸出進行 OR 運算,我們將在只有當一個輸入為高電平而另一個輸入為低電平時,在最終輸出處獲得一個高電平。
這使用了此處所示的替代閘電路佈置之一。
XNOR 可以代換為
- .
摘要
[edit | edit source]- 布林加法等效於邏輯或。
- 布林乘法等效於邏輯與。
- 布林補運算等效於邏輯非。
- XOR 擁有自己的特殊符號,因為它沒有直接包含在布林代數的框架中。