混淆布尔表达式

时间:2012-01-26 03:15:39

标签: boolean

给出布尔变量xyz的这些值:

x = true
y = false
z = true

为什么以下逻辑表达式会计算为true

(x || !y) && (!x || z)

4 个答案:

答案 0 :(得分:2)

替换xyz的值:

(true || !false) && (!true || true)

翻转否定的值:

(true || true) && (false || true)

替换ORed语句(如果一方为真,则整个语句为真):

true && true

替换ANDed语句(如果双方都为真,则整个语句为真):

true

答案 1 :(得分:1)

True或False始终为True。 true || false 真实和真实始终是真的。 true && true

答案 2 :(得分:0)

X在第一个分组中为真,导致第一个分组为真。 Z在第二组中为真,导致第二组分组成立。因此,第1组和第2组都是正确的。

答案 3 :(得分:-1)

(x || !y) && (!x || z)
= (T || !F) && (!T || T) <-- plug in x = T, y = F, z = T
= (T || T) && (F || T) <-- !F = T, !T = F
= T && T <- T || T = T, F || T = T
= T <- T && T = T

实际上,请告诉我们什么是如此令人困惑;我有点困惑,你发现它总是令人困惑。