【问题标题】:Simplifying the boolean expression (A && B) || (A && !B && C)简化布尔表达式 (A && B) || (A && !B && C)
【发布时间】:2020-07-27 19:21:47
【问题描述】:
我目前在尝试简化布尔表达式时很困惑。我知道解决方案,但不知道实现它的正确方法。
什么规律让(A && B) || (A && !B && C)和(A && B) || (A && C)一样
为什么我可以离开!B?
【问题讨论】:
标签:
math
boolean-logic
simplify
【解决方案1】:
由于(简化表示法):
B+B'C = B+B+B'C = B(C+C')+B(C'+C)+B'C = BC+BC'+BC'+BC+B'C = BC+BC'+BC'+(B+B')C = BC+BC'+1C = B(C+C')+C = B+C
我们有
AB + AB'C = A (B + B'C) = A(B+C) = AB + AC
【解决方案2】:
我不知道任何法律,但我会尽力解释一下。
为了让我们到达!B 的检查,我们必须承认两件事:
-
A 必须为真
-
B 必须是 FALSE
如果A 为假,我们可以将(A && B) 和(A && !B && C) 这两个检查都短路,因为首先评估A,我们只与&& 进行比较。
如果A 为真且B 为真,则不评估第二个条件。
因此,要达到!B,A 必须为真,B 必须为假,如上所述。如果是这种情况,那么!B 将总是在第二种情况下评估为 TRUE,并且可以被删除。