布尔逻辑 - 简化积和表达式

3
我有一个问题需要合成给定函数的最简积和表达式,该函数只有当 AB == CD 时为1,否则为0,如下所示:
(!A && !B && !C && !D) || (!A && B && !C && D) || (A && !B && C && !D) || (A && B && C && D)
这些项中没有任何一项仅相差一个位,因此我无法将它们分组并以此简化它们。我已制作了如下所示的卡诺图,但这似乎没有帮助,因为我无法将超过一个“1”组合在一起。
\ AB 00 01  11  10
CD +---+---+---+---+
00 | 1 | 0 | 0 | 0 |
   +---+---+---+---+
01 | 0 | 1 | 0 | 0 |
   +---+---+---+---+
11 | 0 | 0 | 1 | 0 |
   +---+---+---+---+
10 | 0 | 0 | 0 | 1 |
   +---+---+---+---+

所以我的问题是,上面的表达式已经是最简单的积和式表达式吗?
1个回答

1

我认为你的卡诺图等价于:((A && C) || (!A && !C)) && ((B && D) || (!B && !D))

我认为这样会更简单。


这样做虽然更简单,但它并不能被真正地视为乘积和形式,不是吗? - user1432402
1
是的。它是最小积之和,而不是规范积之和。请参见维基百科文章:http://en.wikipedia.org/wiki/Canonical_form_(Boolean_algebra)#Non-canonical_PoS_and_SoP_forms - hcarver

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接