跳轉到內容

實用電子/邏輯/布林運算

來自華夏公益教科書

布林代數(以數學家 喬治·布林 命名)是一種只處理 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 擁有自己的特殊符號,因為它沒有直接包含在布林代數的框架中。
華夏公益教科書