简化布尔表达式:A ^ B * C



我一直在尝试简化布尔表达式:A ^ B * C一段时间了。我可以先将其简化为:A * ~B + ~A * B * C但在那之后我似乎无法进一步简化它。使用在线简化,它说它简化为(A + B) * (A + C) * (~A + ~B)但为什么呢?用什么法律来简化它?

这取决于运算符的优先级。通常 AND 在 XOR 之前,它是A XOR (B AND C).一些编程语言在不使用括号时严格从左到右计算表达式,导致(A XOR B) AND C,假设您使用^表示XOR*用于AND

您的简化似乎适用于后一种变体,但通常在布尔代数中,您会首先评估 AND:

A * ~(B*C) + ~A * B * C
= A * (~B + ~C) + ~A * B * C
= A * ~B + A * ~C + ~A * B * C

我已经使用这样的布尔表达式一段时间了,所以我不知道是否可以进一步简化(或者即使我的是正确的)。

您确定您正确写下了在线简化器的结果吗?因为术语(A + B) * (~A * ~B)的计算结果为A * ~A * ~B + B * ~A * ~B = 0 + 0,因此整个术语的计算结果为false。这一切都是假设运算符具有以下优先级:NOT> AND> OR。如果他们解中的最后一个项是(~A + ~B)它会更有意义,并评估到你的项A * ~B + ~A * B * C,它只是它的合取范式。

相关内容

  • 没有找到相关文章

最新更新