我试图找到一个带AND,OR和NOT门的布尔电路,只计算¬((A→¬B)∧(C→A))的布尔函数。我的尝试是:
我把箭头放在两个关节上(我相信“→或者意味着”在这个功能中)是我想问的关于如何在电路上表示的?如果我在正确的轨道上,请指导我,因为我是新手。谢谢。
答案 0 :(得分:2)
您的初始表达:¬((A→¬B)∧(C→A))
让我们把它分解:A→B =¬AvB 将其应用于您的表达式:
¬((¬Av¬B)∧(¬CvA))
符号的定义:
¬= NOT v =OR∧= AND
现在我们需要分解这个表达式:
(¬Av¬B)∧(¬CvA)
这再次由两个子表达式组成,并且意味着将AND运算应用于(¬Av¬B)的结果和(¬CvA)的结果。为此,我们需要为括号中的每个表达式定义逻辑电路。
现在我们已经定义了它们,我们可以回到我们原来的子表达式(¬Av¬B)∧(¬CvA)。现在,这告诉我们使用AND门组合逻辑电路的输出。为了使这更容易理解,让我们让(¬Av¬B)= E和(¬CvA)= F现在我们有表达式E∧F或E和F.见下图。
现在我们已经创建了一个表达式(¬Av¬B)∧(¬CvA)的逻辑电路,我们可以称之为G.我们的原始表达式是¬((¬Av-B)∧(¬CvA))定义为¬(G)或NOT(G),它反转(或应用非门)到我们刚刚制作的逻辑电路的输出。见图片下面:
正如您所看到的,创建一个逻辑电路有多层“抽象”,这些逻辑电路由括号中的表达式划分。这是怎么回事。以下是一些可能对您有帮助的进一步阅读链接:
答案 1 :(得分:1)
你不能在地图上代表这些点:顶部的那个是非法的,因为它将输入连接到中间输出,而底部的那个连接两个输入。
一种方法是用表达式中的逻辑等效¬X∨Y替换蕴涵X→Y,并简化结果:
¬((¬A∨¬B)∧(¬C∨A))
您可以采取的另一种解决此问题的方法是为表达式构造一个真值表,将其放在Karnaugh Map中,并读取由AND,OR和NOT组成的简化表达式({{3} }。