📜  布尔函数的表示

📅  最后修改于: 2021-09-22 10:54:01             🧑  作者: Mango

布尔函数由由二进制变量、常量 0 和 1 以及逻辑运算符号组成的代数表达式描述+,\:.\:,\:^\prime
对于所涉及的二进制变量的一组给定值,布尔函数的值可以为 0 或 1。例如,布尔函数F= x^\prime y + z根据三个二进制变量定义x,\:y,\:z .如果函数等于 1 x=0y=1同时或z=1 .
每个布尔函数都可以用代数表达式来表示,例如上面提到的那个,或者用真值表来表示。一个函数可以通过几个代数表达式来表达,因为它们在逻辑上是等价的,但是每个函数只有一个唯一的真值表。
布尔函数可以从代数表达式转换为由逻辑门以特定结构连接而成的电路图。电路图F ——

规范和标准形式 –
任何二进制变量都可以采用两种形式之一, x要么x^\prime .布尔函数可以表示为n二进制变量。如果使用 AND 运算将所有二进制变量组合在一起,则总共有2^n组合,因为每个变量可以采用两种形式。
每个组合称为最小项标准乘积。一个 minterm 表示为m_i在哪里i是指定 minterm 的二进制数的十进制等效值。
重要说明 –在 minterm 中,如果变量为 1,则二进制变量未初始化,如果变量为 0,即如果 minterm 为xy^\prime那么这意味着x=1y=0 .
例如,对于两个变量中的布尔函数,最小项是 –
m_0=x^\prime y^\prime,\:m_1=x^\prime y,\:m_2=x y^\prime,\:m_3=x y

类似地,如果将变量用 OR 运算组合在一起,则获得的称为maxterm标准总和。一个 maxterm 表示为M_i在哪里i是指定 maxterm 的二进制数的十进制等效值。

重要说明 –在 maxterm 中,如果变量为 0,则二进制变量未初始化,如果变量为 1,即如果 maxterm 为x^\prime+y那么这意味着x^\prime=1y=0 .
例如,对于两个变量中的布尔函数,maxterms 是 –
M_0=x+y,\:M_1=x+y^\prime,\:M_2=x^\prime + y,\:M_3=x^\prime + y^\prime

3 个变量中函数的Minterms 和 Maxterms –

Minterms 和 Maxterms 之间的关系 –每个minterm是其相应maxterm的补充。
例如,对于两个变量中的布尔函数-

m_0=x^\prime y^\prime(m_0)^\prime=(x^\prime y^\prime)^\prime(m_0)^\prime=(x^\prime)^\prime + (y^\prime)^\prime(m_0)^\prime=x+y=M_0一般来说m_i = (M_i)^\prime要么M_i = (m_i)^\prime

构造布尔函数——现在我们知道了 minterms 和 maxterms 是什么,我们可以使用它们来构造布尔表达式。

“布尔函数可以从给定的真值表中用代数表示,方法是为函数中产生 1 的每个变量组合形成一个最小项,然后对所有这些项进行 OR 运算。”

例如,考虑两个函数f_1f_2使用以下真值表 –
 \begin{tabular}{||c||c||c||c||c||} \hline x&y&z&f_1&f_2\\ \hline \hline  0&0&0&0&0\\ \hline  0&0&1&1&0\\ \hline  0&1&0&0&0\\ \hline  0&1&1&0&1\\ \hline  1&0&0&1&0\\ \hline  1&0&1&0&1\\ \hline  1&1&0&0&1\\ \hline  1&1&1&1&1\\ \hline  \end{tabular}
函数f_1对于以下组合为 1 x,\:y,\:z – 001,100,111
相应的最小项是- x^\prime y^\prime z , x y^\prime z^\prime , xyz .
因此,代数表达式为f_1是-
f_1(x,y,z) = x^\prime y^\prime z + x y^\prime z^\prime + xyz
f_1(x,y,z) = m_1 + m_4 +m_7
类似地,代数表达式为f_2是-
f_2(x,y,z) = m_3 + m_5 + m_6 + m_7
如果我们使用德摩根定律f_1f_2全 1 变为 0,所有 0 变为 1。因此我们得到-
f_1(x,y,z)^\prime = m_0 + m_2 +m_3 + m_5 + m_6
f_2(x,y,z)^\prime = m_0 + m_1 + m_2 + m_4
再次使用德摩根定律——
f_1(x,y,z) = (m_0 + m_2 +m_3 + m_5 + m_6)^\prime
f_1(x,y,z) = m_0^\prime . m_2^\prime . m_3^\prime . m_5^\prime . m_6^\prime
f_1(x,y,z) = M_0 . M_2 . M_3 . M_5 . M_6

f_2(x,y,z) = (m_0 + m_1 + m_2 + m_4)^\prime
f_2(x,y,z) = m_0^\prime . m_1^\prime . m_2^\prime . m_4^\prime
f_2(x,y,z) = M_0 . M_1 . M_2 . M_4
我们可以从上面得出结论,布尔函数可以表示为minterms总和maxterms 的乘积

“表示为 minterms 的总和或 maxterms 的乘积的布尔函数被称为规范形式

  • 示例 1 –以 SOP 和 POS 形式表达以下布尔表达式
    F=x+y^\prime z
  • 解决方案 –通过乘以在每一项中添加缺失的变量,可以将表达式转换为 SOP 形式k+k^\prime = 1在哪里k是缺失的变量。
    事实证明—— 1.x = x.1 = x
     F=x(y+y^\prime)+y^\prime z\\ F=xy+xy^\prime+y^\prime z\\ F=xy(z+z^\prime)+xy^\prime(z+z^\prime)+(x+x^\prime)y^\prime z\\ F=xyz + xyz^\prime + xy^\prime z + xy^\prime z^\prime + xy^\prime z + x^\prime y^\prime z
    按升序重新排列最小项
     F=x^\prime y^\prime z + xy^\prime z^\prime + xy^\prime z + xyz^\prime + xyz\\ F=m_1 + m_4 + m_5 + m_6 + m_7
    如果我们想要 POS 形式,我们可以如上所述对 SOP 形式进行双重否定以获得-
     F=M_0.M_2.M_3
    SOP 和 POS 表格有一个简短的表示符号 –
     F(x,y,z) = \sum(1,4,5,6,7)\\ F(x,y,z) = \prod(0,2,3)\\

标准表格 –
规范形式是从函数的真值表中得到的基本形式。这些形式通常不用于表示函数,因为它们编写起来很麻烦,并且最好用尽可能少的字面量来表示函数。
有两种类型的标准表格 –

  1. 乘积总和(SOP)-一种布尔表达式,涉及 AND 项,每个项带有一个或多个字面量,或一起进行 OR 运算。
  2. Product of Sums(POS)一个布尔表达式,其中包含 OR 项,每个项带有一个或多个字面量,并结合在一起,例如

    SOP- x^\prime + xy +yz^\prime POS- (x^\prime).(x + y).(y + z^\prime)

    注 –上述表达式并不等效,它们只是示例。

GATE CS 角问题

练习以下问题将帮助您测试您的知识。所有问题都在前几年的 GATE 或 GATE 模拟测试中提出。强烈建议您练习它们。

1. GATE CS 2010,问题 6
2. GATE CS 2008,问题 7
3. GATE CS 2014 Set-1,问题 17

参考-

数字设计第 5 版,作者:Morris Mano 和 Michael Ciletti