布尔逻辑和真值表解释

Posted

技术标签:

【中文标题】布尔逻辑和真值表解释【英文标题】:Boolean Logic and Truth Tables Explanation 【发布时间】:2010-02-12 00:42:13 【问题描述】:

我需要创建一个真值表,我真的需要找到一个资源来解释它是如何工作的。我将举一个问题的例子。 我必须基于此创建一个真值表:A*(B+AB)=AB 所以真值表看起来像: 0 0 0 1 1 0 1 1 对于 A*(B+AB)=AB

我该如何开始解决这个问题?有没有什么好的资源可以很好地解释该怎么做?

好的,然后我做了一个更复杂的涉及 NOT 的操作。 !表示没有

!(A*!B+!AB) = AB+!(A+B)

所以我对左侧做了 C = A*!B D=!A*B 然后 !(C+D) 。我对那方面的最终答案是

0 0 1  
0 1 0
1 0 0
0 0 1

所以右边是这个 C = A * B D = A + B 然后 C + !D 所以看起来像这样

0 0 1
0 1 0
0 1 0
1 1 1

我想我明白了吗? :)

【问题讨论】:

【参考方案1】:

编辑:鉴于您的评论(现已删除),我添加了一些额外的解释。

A 和 B 是两个布尔变量。例如,在一个程序中,A 可能是 firstTestOK,B 可能是 secondTestOK。 A 和 B 中的每一个都可以是真 (1) 或假 (0)。

A+B 表示如果 A 或 B 为真,则 A 或 B 为真。 A*B 表示只有当 A 和 B 都为真时,A 和 B 才为真。

A、B 的所有组合为:

    A 为假,B 为假 A 为假,B 为真 A 为真,B 为假 A 为真,B 为真

这可以更简洁地写为真值表,如下所示:

A B
0 0
0 1
1 0
1 1

您被要求做的是显示 A*(B+AB) 与 AB 相同。因此,对于每个组合,我们计算出左侧,即 A*(B+AB) 和右侧,即 AB:

A B C=A*B D=B+C A*D  = A*B
0 0  0     0     0      0
0 1  0     1     0      0  
1 0  0     0     0      0
1 1  1     1     1      1

所以,查看最后两列中的所有组合,我们看到结果是相同的,所以 AD=A(B+AB) 是 AB.

由于左侧有点复杂,我通过将其分解为部分,通过引入 C 和 D 来逐步完成。

【讨论】:

好的,我开始明白了,我正在研究一个更复杂的,一旦我看到我能得到它,我会发布它。但基本上我必须将所有内容分成一组 ANDS 和 ORS,然后是 AND 或 OR 组合部分....好吧,我可能说得不正确,但我希望稍后我会发布它。

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

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

逻辑函数式与真值表

逻辑表达式的基本恒等式和从真值表导出逻辑表达式?

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

修改逻辑运算符真值表

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