跳轉到內容

計算機硬體基礎:布林方程簡化

來自 Wikibooks,開放書籍,開放世界

論文 2 - ⇑ 計算機系統基礎 ⇑

← 布林代數 簡化布林方程 布林恆等式 →


一個常見的問題是給你一個複雜的布林方程,你需要找出更簡單的等效表示式。這在你設計電路並想要最小化使用的門數量或建立僅使用特定型別門的電路時非常有用。為了簡化布林方程,你必須熟悉兩種方法。你通常可以使用其中任何一種,但儘量掌握兩種方法

  • 真值表
  • 布林代數 - 恆等式和德摩根定律
示例:使用真值表簡化布林方程

繪製以下方程的真值表


我們將使用真值表來解決這個問題,我們需要將問題分解成它的組成部分

由於方程使用 A 和 B,列出它們可以取的不同值(總共 4 個)

0 0
0 1
1 0
1 1

接下來我們將首先計算括號: 並將其新增到我們的真值表中

0 0 0
0 1 0
1 0 0
1 1 1

最後我們將此結果 () 與 A 進行或運算,以找到 ,即真值表的最後一列

0 0 0 0
0 1 0 0
1 0 0 1
1 1 1 1

現在我們的真值表已經完成,看一下最後一列,有沒有更簡單的寫法?當然有!最後一列在 A 為真時且僅當 A 為真時才為真,它根本不需要 B 的輸入。因此我們可以簡化為 A,告訴我們


示例:使用真值表簡化布林方程

讓我們看另一個例子


首先我們需要將方程分解成它的組成部分。從 A 和 B 開始,我們計算 ,然後 ,最後 .

0 0
1
0
1
0 1
0
0
1
1 0
1
1
0
1 1
0
0
1

這可以簡化為 ,告訴我們:。我們是如何得出這個結論的?讓我們看看結果為真的所有情況。

0 0
1
0 1
1
1 0
0
1 1
1

我們需要得到一個 A 和 B 的組合,以得到上面顯示的結果。我們可以看到,無論 A 為假(),結果為真。

0 0
1
0 1
1
1 0
0
1 1
1

我們還可以看到,無論 B 值為真,結果也為真。

0 0
1
0 1
1
1 0
0
1 1
1

因此,我們知道我們需要將 相結合,得到一個解決所有情況的表示式。

如果我們將它們與 AND 相結合 (),這隻會給我們其中一種情況,所以這不是答案。

如果我們將它們與 OR 相結合 (),那麼這將給我們三個答案,匹配上面所有的響應。這就是我們的解決方案。

練習:使用真值表簡化布林表示式

給出以下真值表的簡化布林表示式,即

0 0 0
0 1 1
1 0 0
1 1 1

答案

0 0 0
0 1 0
1 0 0
1 1 1

答案

0 0 1
0 1 1
1 0 1
1 1 1

答案

0 0 1
0 1 0
1 0 1
1 1 1

答案

使用真值表簡化以下布林表示式

答案

0 0
0
1
0
0 1
0
1
0
1 0
0
1
1
1 1
1
0
0

這可以簡化為:

答案

0 0
0
1
1
0 1
0
1
1
1 0
0
1
1
1 1
1
0
1

所有情況下的答案都是一個簡單的

答案

0 0
1
0
0
0 1
0
0
1
1 0
1
1
1
1 1
0
0
1

可以簡化為: (因為德摩根定律)

答案

記住,我們要先處理AND再處理OR,這意味著我們可以將等式讀作:

0 0
0
1
1
0 1
0
0
0
1 0
0
1
1
1 1
1
0
1

可以簡化為:

答案

0 0
1
1
1
0
0 1
1
0
1
1
1 0
0
1
1
0
1 1
0
0
0
0

可以簡化為:

華夏公益教科書