我的一个试题是:
! ( ! ( a != b) && ( b > 7 ) )选择:
a) (a != b) || (b < 7)
b) (a != b) || (b <= 7)
c) (a == b) || (b <= 7)
d) (a != b) && (b <= 7)
e) (a == b) && (b > 7)一开始,我以为是D。这是不正确的,我知道原因。我不明白逻辑否定操作符是如何反转的&而且大于/小于。我想我已经把范围缩小到前两个了。是否有任何实例>将更改为<=?
发布于 2015-02-03 01:05:19
是否有任何实例>将更改为<=?
答:每次你否定它。
考虑一下x > 1。对此的否定显然是x <= 1。如果简单地将其否定为x < 1,那么这两种情况都不包括x == 1大小写。
尽管如此,给定的布尔! ( ! ( a != b) && ( b > 7 ) )可以分解如下:
! ( !(a != b) && (b > 7))a != b! ((a == b) && (b > 7))!!(a == b) || !(b > 7)a==b(a != b) || !(b > 7)b>7(a != b) || (b <= 7)因此,答案是B。
发布于 2015-02-03 01:04:15
答案应该是B。这是因为(a = b)旁边的否定是先求值的,然后再将外部否定分配给整个命题。
使用DeMorgan的法律,&&将切换到\。类似地,!=变成==,>变成<=。
!(!(a != b) && (b > 7))
!((a == b) && (b > 7))
(a != b) || (b <= 7)发布于 2015-02-03 01:05:39
! ( ! ( a != b) && ( b > 7 ) )
= ! ( (a = b) && (b > 7))
= (a != b) || (b <= 7)https://stackoverflow.com/questions/28289598
复制相似问题