【问题标题】:Combining logical operators组合逻辑运算符
【发布时间】:2017-07-12 14:13:43
【问题描述】:

我有一个形式的表达式

A or A and B

我们可以通过其他方式表示表达式更简洁地表示它吗?

【问题讨论】:

  • 尝试创建一个真值表,看看你会得到什么。
  • 这是个好主意
  • A or A and B 是否等于 A or (A and B)(A or A) and B?大概是前者,尽管没有普遍同意逻辑运算符的优先级。无论如何:见en.wikipedia.org/wiki/Absorption_law
  • @CollinD 真值表将 A 作为表示。如果 A 为 1,则为 1,否则为 0。很有趣。

标签: boolean logical-operators


【解决方案1】:

如前所述,表达方式可能有些含糊。它可以通过两种方式进行解释:

(A or A) and B

显然A or A在逻辑上等价于A,所以在这种情况下整个语句就等价于A and B

更有可能,这应该被理解为

A or (A and B)

让我们为此写一个真值表

A B | A or (A and B) | result
-----------------------------
0 0 | 0 or (0 and 0) | 0
0 1 | 0 or (0 and 1) | 0
1 0 | 1 or (1 and 0) | 1
1 1 | 1 or (1 and 1) | 1

现在您可以很清楚地看到,在这种情况下,该语句等效于单独的A

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-12-21
    • 1970-01-01
    • 1970-01-01
    • 2012-11-17
    • 1970-01-01
    • 2020-12-20
    • 2020-04-30
    相关资源
    最近更新 更多