德摩根定律和C ++

时间:2013-09-22 22:24:49

标签: c++ boolean-expression boolean-operations demorgans-law

对于以下每一个,写下等效的C ++表达式,没有任何一元否定运算符(!)。 (!=仍然允许)

使用德莫根定律

  • !( P && Q) = !P || !Q
  • !( P || Q) = !P && !Q

有关

  1. !(x!=5 && x!=7)
  2. !(x<5 || x>=7)
  3. !( !(a>3 && b>4) && (c != 5))
  4. 我的回答:

    1. (x>5 || x<5) || (x>7 || x<7)
    2. x>=5 && x < 7
    3. (a>3 && b > 4) && (c!=5)
    4. 这些是正确的吗?如果没有,你能给我答案并解释他们为什么错吗?

      我是C ++的初学者,所以放轻松。

1 个答案:

答案 0 :(得分:1)

检查出来:

!(x!=5 && x!=7)                 -->    x==5 || x==7

!(x<5 || x>=7)                  -->    x>=5 && x<7

!( !(a>3 && b>4) && (c != 5))   -->    (a>3 && b>4) || c==5

所以,你的解决方案中只有#2是正确的。