布尔逻辑和真值表

Posted

技术标签:

【中文标题】布尔逻辑和真值表【英文标题】:Boolean Logic and Truth Tables 【发布时间】:2018-11-07 18:23:37 【问题描述】:

我一直在谷歌搜索,但无法找到解决方案。如果有人可以链接我或解释这一点,我将不胜感激。

我有这样的表达方式:

¬aΛb | aΛ-b。 Λ 是 AND,¬ 不是。

真值表是:

A B Expression
--------------
T T F
T F T
F T F
F F T

我很困惑为什么它们不都是 FALSE。例如,如果我认为 a 和 b 为假: ¬a 和 ¬b 优先,因此它们变为真。但是 ¬a (TRUE) Λ b (FALSE) 是 FALSE。由于 Λ 优先,a (FALSE) Λ ¬b (TRUE) 再次为 FALSE。太假了| FALSE = FALSE,对吧?

同样,对于 a|b|c|d|e,其中 |是或。为什么只有 d 为 FALSE,其他为真:

T   T   T   F   T  

= 错误

【问题讨论】:

表格与表达式不对应。表达式等价于a XOR b,表等价于¬b 我插入了¬aΛb | aΛ¬b 变成了一个在线计算器。 turner.faculty.swau.edu/mathematics/materialslibrary/truth 【参考方案1】:

您使用的计算器使用 |表示 NAND,而不是 OR。您应该将 + 用于 OR。然后真值表按预期出来了。 x NAND y 为 TRUE,除非 x AND y 为真;和 NAND 与 AND 具有相同的优先级,因此不带括号的运算符首先绑定最左边。您的公式的完整括号版本是:

((((not a) and b) nand a) and (not b))

基于此生成真值表给出观察结果。

【讨论】:

以上是关于布尔逻辑和真值表的主要内容,如果未能解决你的问题,请参考以下文章

20191329《信息安全专业导论》第4周学习总结

在 Haskell 中为逻辑表达式生成真值表

2019-2020-1学期 20192423《网路空间安全专业导论》第二周学习总结

JS 中的布尔运算符 && 和 ||

检查Angular HTML中的布尔真值

获取布尔列表中第一个真值的索引