如何将表达式从 SOP 转换为 POS 并返回布尔代数?

电器工程 数字逻辑
2022-01-05 20:12:40

如何在布尔代数中将产品总和 (SOP) 表达式转换为总和 (POS) 形式,反之亦然?

例如:F = xy' + yz'

4个回答

我认为最简单的方法是转换为k-map,然后获取POS。在您的示例中,您有:

  \ xy
 z \  00    01    11    10
    +-----+-----+-----+-----+
 0  |     |  x  |  x  |  x  |
    +-----+-----+-----+-----+
 1  |     |     |     |  x  |
    +-----+-----+-----+-----+

在这种情况下,排除左列给出 (x+y),排除底部中间的两个框给出 (z' + y'),给出 (x + y)(z' + y') 的答案

F= xy' + yz' 它是SOP形式

这也可以使用简单布尔代数技术来解决:

应用分配律:- F=( xy ') + y z'

F= ( xy' + y) ( xy ' + z') 现在转换为POS形式。

另一种方法是只取给定表达式的恭维:

如:xy' + yz'

接受它的赞美:
(xy' + yz')'

=(xy')'.(yz')' {使用德摩根定律的 (a+b)'=a'.b'}

=(x'+y)(y'+z)

这是补语的POS形式

使用德摩根定律两次。

适用法律一次:

F' = (xy' + yz')'
   = (xy')'(yz')'
   = (x'+y)(y'+z)
   = x'y' + x'z + yy' + yz
   = x'y' + x'z + yz

再次申请:

F=F''
 =(x'y'+x'z+yz)'
 =(x'y')'(x'z)'(yz)'
 =(x+y)(x+z')(y'+z')
 =(x+y)(y'+z')

使用 wolframalpha.com 验证答案

xy' + yz'

(x+y)(y'+z')

编辑:答案可以通过布尔代数共识法则再简化一步