📅  最后修改于: 2021-01-08 06:13:08             🧑  作者: Mango
布尔代数是逻辑代数。它处理的变量可以有两个离散值,0(假)和1(真);和具有逻辑意义的操作。操纵符号逻辑的最早方法是乔治·布尔(George Boole)发明的,后来被称为布尔代数(Boolean Algebra)。
布尔代数因其在交换理论,构建基本电子电路和数字计算机设计方面的广泛适用性,现已成为计算机科学中不可或缺的工具。
布尔函数是数学函数$ f的一种特殊类型:X ^ n \ rightarrow X $ n为度,其中$ X = \ lbrace {0,1} \ rbrace $是布尔域,而n是非负整数。它描述了如何从布尔输入中导出布尔输出的方法。
示例-令$ F(A,B)= A’B’$。这是度2的函数,从有序的布尔变量对对到集合$ \ lbrace {0,1} \ rbrace $,其中$ 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 $(AND表格)
$ A + 0 = A $(或表格)
$ A。 1 = A $(与表格)
$ A + 1 = 1 $(或表格)
$ A。 0 = 0 $(与表格)
$ A + B = B + A $(或表格)
$ A。 B = B。 A $(AND表格)
$ A +(B + C)=(A + B)+ C $(或表格)
$ A。 (B.C)=(A.B)。 C $(和表格)
$ A。 (A + B)= A $
$ A +(A .B)= A $
$ A。 (\ sim A + B)= A。 B $
$ 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 $
对于布尔表达式,有两种规范形式-
最小项是所有直接或互补形式的变量的乘积。任何布尔函数都可以表示为其1分钟项的总和,而该函数的逆可以表示为其0分钟项的总和。因此,
F(变量列表)= ∑(一分钟指数列表)
和
F’(变量列表)= ∑(0分钟指数列表)
A | B | C | Term | Minterm |
---|---|---|---|---|
0 | 0 | 0 | x’y’z’ | m0 |
0 | 0 | 1 | x’y’z | m1 |
0 | 1 | 0 | x’yz’ | m2 |
0 | 1 | 1 | x’yz | m3 |
1 | 0 | 0 | xy’z’ | m4 |
1 | 0 | 1 | xy’z | m5 |
1 | 1 | 0 | xyz’ | m6 |
1 | 1 | 1 | xyz | m7 |
例
设$ F(x,y,z)= x’y’z’+ xy’z + xyz’+ 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’yz’+ xy’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)$
maxterm是所有直接或补充形式的变量的加法。任何布尔函数都可以表示为其0-maxterms的乘积,而该函数的逆可以表示为其1-maxterms的乘积。因此,
F(变量列表)= $ \ pi $(0个最大项索引的列表)。
和
F’(变量列表)= $ \ pi $(1-maxterm索引列表)。
A | B | C | Term | Maxterm |
---|---|---|---|---|
0 | 0 | 0 | x + y + z | M0 |
0 | 0 | 1 | x + y + z’ | M1 |
0 | 1 | 0 | x + y’ + z | M2 |
0 | 1 | 1 | x + y’ + z’ | M3 |
1 | 0 | 0 | x’ + y + z | M4 |
1 | 0 | 1 | x’ + y + z’ | M5 |
1 | 1 | 0 | x’ + y’ + z | M6 |
1 | 1 | 1 | x’ + y’ + z’ | M7 |
令$ 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)$
布尔函数通过使用逻辑门来实现。以下是逻辑门-
非门将输入的一位转换为输出的一位。
A | ~A |
---|---|
0 | 1 |
1 | 0 |
“与”门是逻辑门,仅当其所有输入都为高电平时才提供高输出,否则会提供低输出。点(。)用于显示AND操作。
A | B | A.B |
---|---|---|
0 | 0 | 0 |
0 | 1 | 0 |
1 | 0 | 0 |
1 | 1 | 1 |
或门是一种逻辑门,如果至少一个输入为高,则该逻辑门提供高输出。加号(+)用于显示“或”运算。
A | B | A+B |
---|---|---|
0 | 0 | 0 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 1 |
NAND门是一种逻辑门,仅当其所有输入都为高电平时才提供低输出,否则它将提供高输出。
A | B | ~(A.B) |
---|---|---|
0 | 0 | 1 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 0 |
或非门是一种逻辑门,如果两个输入均为低电平,则该逻辑门将提供高输出,否则,将提供低输出。
A | B | ~(A+B) |
---|---|---|
0 | 0 | 1 |
0 | 1 | 0 |
1 | 0 | 0 |
1 | 1 | 0 |
XOR门是一个逻辑门,如果输入不同,它会提供高输出,否则它会提供低输出。
A | B | A⊕B |
---|---|---|
0 | 0 | 0 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 0 |
EX-NOR门是逻辑门,如果输入相同,则该逻辑门提供高输出,否则它提供低输出。
A | B | A X-NOR B |
---|---|---|
0 | 0 | 1 |
0 | 1 | 0 |
1 | 0 | 0 |
1 | 1 | 1 |