布尔代数由乔治·布尔提出。它是一套用于在不改变功能的前提下简化给定逻辑表达式的规则。它主要适用于变量较少的情况。布尔代数中使用的代数表达式被称为布尔表达式,用于描述布尔函数。布尔表达式通常由值 0 或 1、二进制变量和逻辑运算组成。
真值表的构建
真值表是一个包含布尔代数中使用的布尔函数所有可能结果的表格。它用于建立构成布尔函数的各个变量之间的关系。在真值表中,1 代表真值,0 代表假值。真值表为我们提供了一种简单的方法,来测试给定参数在合法输入下是否有效。
> 组合总数 = 2n
>
> 其中,n = 变量的数量。
双变量的真值表
组合总数 = 22 = 4
B
A Ʌ B
~B
—
—
—
0
0
1
1
0
0
0
0
1
1
1
0## 求解布尔函数的方法
1. 卡诺图或 K-map
卡诺图用于最小化数字电路中所需的逻辑门数量。单元格的排列方式使得简化给定的表达式仅仅是正确分组单元格的问题。
积之和(SOP)
SOP 顾名思义,就是“乘积项之和”。它是所有输出为 1 的乘积项之和。它用 Σ 表示,指示最小项 ‘m‘。当两个或多个项通过与门(AND gate)相乘,且它们各自的结果再通过或门(OR gate)相加时,定义为积之和。
在 SOP 的情况下,我们需要考虑以下几点:
A = 1
A‘ = 0
让我们通过一个例子来理解它。
A
C
—
—
0
0
0
1
0
0
0
1
1
0
1
1
1
0
1
1
在 SOP 中,我们只考虑 Y 值为 1(高电平)的那些表达式。
> SOP = Σ (m0, m2, m3, m6, m7)
>
> = A‘B‘C‘ + A‘BC‘ + A‘BC + ABC‘ + ABC
>
> = A‘B‘C‘ + BC‘(A + A‘) + BC (A + A‘)
>
> = A‘B‘C‘ + BC‘ + BC
>
> = A‘B‘C‘ + B(C‘ + C)
>
> = A‘B‘C‘ + B
和之积(POS)
POS 代表“和之积”,当输出为 0 时使用。它用 Π 表示,指示最大项 ‘M‘。
它由两个或多个与在一起的或门(OR gate)组成。
在 POS 的情况下,我们需要考虑以下几点:
A = 0
A‘ = 1
让我们通过一个例子来理解它。
A
C
—
—
0
0
0
1
0
0
0
1
1
0
1
1
1
0
1
1
> POS = Π (M0, M3, M4, M7)
>
> = (A + B + C) . (A + B‘ + C‘) . (A + B‘ + C‘) . (A‘ + B‘ + C‘)
#### 卡诺图示例
F( A, B, C) = Σm ( 0, 1, 2, 4, 7)
A
C
—
—
0
0
0
1
0
0
0
1
1
0
1
1
1
0
1
1
F( A, B, C) = ABC + A‘B‘ + B‘C‘ + A‘C‘
!K-Map卡诺图
2. 与非门
与非门是与门(AND gate)的否定。它给出的值与与门相反。仅当所有输入都为 1 时,它才输出 0。下面是与门和与非门的真值表。
B
~A∧B
—
—
0
1
1
1
0
1
1
0让我们通过与非门来理解如何求解 布尔函数。
F (A, B, C) = ABC + A‘B‘ + B‘C‘ + A‘C‘