为什么! &&等于||?

问题描述 投票:0回答:1

我最近遇到了一个问题,其中我们要找到一个等效的布尔表达式(x && !y)给了一组选择。在浏览一些示例时,我的教授指出!(!x && y)不是正确的答案,因为!分布使该表达式等于(x || !y),所以!将&&更改为||。相反,正确答案是!(!x || y)

我尝试使用&&和||的真值表我不明白为什么会这样。否定&&真值表的结果不会得出等于||的结果。否定&&的输出将产生

    0 && 0 --> 0 !-> 1
    0 && 1 --> 0 !-> 1
    1 && 0 --> 0 !-> 1
    1 && 1 --> 1 !-> 0

我可以看到上面的答案是正确的,我只是不明白为什么。我在这里想念什么?

boolean boolean-logic boolean-expression
1个回答
0
投票

[De Morgan的法律https://en.wikipedia.org/wiki/De_Morgan%27s_laws是相关的。

他们说:

I)   !(a && b) = (!a) || (!b)
II)  !(a || b) = (!a) && (!b)

否定意味着两种否定,而否定意味着两种否定。

让我们在II中将a替换为(!x),将b替换为y]

II)  !((!x) || y) = (!(!x)) && (!y)

给出

II)  !(!x || y) = x && (!y)

显示正确的等效值是!(!x || y)

© www.soinside.com 2019 - 2024. All rights reserved.