布尔表达式和函数


布尔代数是逻辑代数。它处理可以有两个离散值的变量,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