布尔表达式和函数
布尔代数是逻辑代数。它处理可以有两个离散值的变量,0(假)和1(真);以及具有逻辑意义的操作。最早的处理符号逻辑的方法是由乔治·布尔发明的,后来被称为布尔代数。
布尔代数因其在开关理论、构建基本电子电路和数字计算机设计中的广泛适用性,现已成为计算机科学中不可或缺的工具。
布尔函数
布尔函数是一种特殊的数学函数 $f: X^n \rightarrow X$,次数为 n,其中 $X = \lbrace {0, 1} \rbrace$ 是布尔域,n 是非负整数。它描述了如何从布尔输入导出布尔输出的方法。
示例- 令 $F(A, B) = A'B'$。这是从有序布尔变量对集合到集合 $\lbrace {0, 1} \rbrace$ 的 2 次函数,其中 $F(0, 0) = 1, F(0, 1) = 0, F(1, 0) = 0$ 且 $F(1, 1) = 0$
布尔表达式
布尔表达式总是产生布尔值。布尔表达式由布尔常量(True 或 False)、布尔变量和逻辑连接词的组合组成。每个布尔表达式代表一个布尔函数。
示例- $AB'C$ 是一个布尔表达式。
布尔恒等式
双补法
$\sim(\sim A) = A$
补律
$A + \sim A = 1$ (或表格)
$A 。\sim A = 0$(和表格)
幂等律
$A + A = A$(或表格)
$A 。A = A$(和表格)
身份法
$A + 0 = A$(或表格)
$A 。1 = A$(和表格)
支配法则
$A + 1 = 1$(或表格)
$A 。0 = 0$(和表格)
交换律
$A + B = B + A$(或表格)
$A。乙=乙。澳元(和表格)
结合律
$A + (B + C) = (A + B) + C$(或表格)
$A。(B.C) = (A.B) 。加元(和表格)
吸收定律
$A。(A + B) = A$
$A + (A.B) = A$
简化法则
$A 。(\sim A + B) = A 。乙元
$A + (\sim A . B) = A + B$
分配法
$A + (B . C) = (A + B) . (A + C)$
$A 。(B + C) = (A . B) + (A . C)$
德摩根定律
$\sim (A . B) = \sim A + \sim B$
$\sim (A+ B) = \sim A 。\sim B$
规范形式
对于布尔表达式有两种规范形式 -
- 小项总和 (SOM) 形式
- maxterms (POM) 形式的乘积
小项总和 (SOM) 或乘积总和 (SOP) 形式
小项是所有变量的乘积,无论是直接形式还是补充形式。任何布尔函数都可以表示为其 1 个最小项的和,并且该函数的反函数可以表示为其 0 个最小项的和。因此,
F(变量列表)= Σ(1 项指标列表)
和
F'(变量列表)= Σ(0 小项指数列表)
A | 乙 | C | 学期 | 最小术语 |
---|---|---|---|---|
0 | 0 | 0 | x'y'z' | 米0 |
0 | 0 | 1 | x'y'z | 米1 |
0 | 1 | 0 | x'yz' | 米2 |
0 | 1 | 1 | x'yz | 米3 |
1 | 0 | 0 | xy'z' | 米4 |
1 | 0 | 1 | xy'z | 米5 |
1 | 1 | 0 | XYZ' | 米6 |
1 | 1 | 1 | XYZ | 米7 |
例子
令$F(x, y, z) = x' y' z' + x y' z + xy z' + xyz $
或者,$F(x, y, z) = m_0 + m_5 + m_6 + m_7$
因此,
$F(x, y, z) = \sum (0, 5, 6, 7)$
现在我们将找到 $F(x, y, z)$ 的补集
$F' (x, y, z) = x' yz + x' y' z + x' y z' + x y' z'$
或者,$F'(x, y, z) = m_3 + m_1 + m_2 + m_4$
因此,
$F'(x, y, z) = \sum (3, 1, 2, 4) = \sum (1, 2, 3, 4)$
Maxterms 的乘积 (POM) 或 Sums 的乘积 (POS) 形式
最大项是所有变量的直接或补充形式的相加。任何布尔函数都可以表示为其 0-maxterms 的乘积,并且该函数的反函数可以表示为其 1-maxterms 的乘积。因此,
F(变量列表)= $\pi$(0-maxterm 索引列表)。
和
F'(变量列表)= $\pi$(1-maxterm 索引列表)。
A | 乙 | C | 学期 | 麦克斯泰姆 |
---|---|---|---|---|
0 | 0 | 0 | x + y + z | 米0 |
0 | 0 | 1 | x + y + z' | 中号1 |
0 | 1 | 0 | x + y' + z | 米2 |
0 | 1 | 1 | x + y' + z' | 米3 |
1 | 0 | 0 | x' + y + z | 米4 |
1 | 0 | 1 | x' + y + z' | 米5 |
1 | 1 | 0 | x' + y' + z | 米6 |
1 | 1 | 1 | x' + y' + z' | 米7 |
例子
设$F(x, y, z) = (x + y + z) 。(x+y+z') 。(x+y'+z) 。(x'+y+z)$
或者,$F(x, y, z) = M_0 。M_1。M_2。M_4$
因此,
$F(x,y,z)=\pi(0,1,2,4)$
$F''(x, y, z) = (x+y'+z') 。(x'+y+z') 。(x'+y'+z) 。(x'+y'+z')$
或者,$F(x, y, z) = M_3 。M_5。M_6。M_7$
因此,
$F '(x, y, z) = \pi (3, 5, 6, 7)$
逻辑门
布尔函数是通过使用逻辑门来实现的。以下是逻辑门 -
非门
NOT 门将一位输入反转为一位输出。
A | ~A |
---|---|
0 | 1 |
1 | 0 |
与门
与门是一种逻辑门,仅当其所有输入都为高电平时才给出高输出,否则给出低输出。点(.)用于表示 AND 运算。
A | 乙 | AB |
---|---|---|
0 | 0 | 0 |
0 | 1 | 0 |
1 | 0 | 0 |
1 | 1 | 1 |
或门
或门是一种逻辑门,如果至少一个输入为高电平,则输出为高电平。加号 (+) 用于表示 OR 运算。
A | 乙 | A+B |
---|---|---|
0 | 0 | 0 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 1 |
与非门
与非门是一种逻辑门,仅当其所有输入都为高电平时才给出低输出,否则给出高输出。
A | 乙 | ~(AB) |
---|---|---|
0 | 0 | 1 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 0 |
或非门
或非门是一种逻辑门,如果两个输入都为低电平,则输出为高电平,否则输出为低电平。
A | 乙 | 〜(A+B) |
---|---|---|
0 | 0 | 1 |
0 | 1 | 0 |
1 | 0 | 0 |
1 | 1 | 0 |
XOR(异或)门
异或门是一种逻辑门,如果输入不同,则提供高输出,否则提供低输出。
A | 乙 | A⊕B |
---|---|---|
0 | 0 | 0 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 0 |
X-NOR(异或非)门
EX-NOR 门是一种逻辑门,如果输入相同,则提供高输出,否则提供低输出。
A | 乙 | A X-NOR B |
---|---|---|
0 | 0 | 1 |
0 | 1 | 0 |
1 | 0 | 0 |
1 | 1 | 1 |