跳转到内容

计算机硬件基础:布尔方程简化

来自 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

可以简化为:

华夏公益教科书