简化布尔表达式:A ^ B * C
Simplifying the boolean expression: 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
,它只是它的合取范式。
我一直在努力简化
布尔表达式: 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
,它只是它的合取范式。