如何简化这些复合逻辑表达式?

时间:2013-12-10 17:22:32

标签: c boolean-algebra

如何简化这些复合逻辑表达式?

!((x <= 5) && (y == 10) && (z < 5))  // 1
!(x == 10) || !((y == 5) || (z < 0)) // 2

我已阅读简化规则,但我不明白如何处理==

这是来自E Balagurasy编写的“ANSI C编程” 在设计决策语句时,我们经常遇到逻辑NOT运算符应用于复合逻辑表达式的情况,例如!(x&amp;&amp; y ||!z)。然而,积极的逻辑总是容易阅读和理解而不是消极的逻辑。在这种情况下,我们可以应用所谓的De Morgan规则使总表达式为正。规则如下:“通过将NOT运算符应用于每个逻辑表达式组件来删除括号,同时补充关系运算符。”示例:!(x&amp;&amp; y ||!z)变为!x || !y&amp;&amp; ž。

1 个答案:

答案 0 :(得分:0)

我会给你一些提示,以免你为你做作业:

!(a || b || c) = (!a && !b && !c)

!(a && b && c) = (!a || !b || !c)

!(a == b) = (a != b)

!(a <= b) = (a > b)

你应该可以从那里拿走它。