找到只有AND,OR和NOT门的布尔电路

时间:2018-01-18 18:40:57

标签: logic boolean-logic boolean-expression circuit

我试图找到一个带AND,OR和NOT门的布尔电路,只计算¬((A→¬B)∧(C→A))的布尔函数。我的尝试是:

enter image description here

我把箭头放在两个关节上(我相信“→或者意味着”在这个功能中)是我想问的关于如何在电路上表示的?如果我在正确的轨道上,请指导我,因为我是新手。谢谢。

2 个答案:

答案 0 :(得分:2)

您的初始表达:¬((A→¬B)∧(C→A))

让我们把它分解:A→B =¬AvB 将其应用于您的表达式:

¬((¬Av¬B)∧(¬CvA))

符号的定义:

¬= NOT v =OR∧= AND

现在我们需要分解这个表达式:

  1. 括号外的NOT表示将NOT操作应用于括号中的所有内容(基本上反转值)。我们暂时可以忽略这一点,并集中讨论括号中的内容。新表达:
  2. (¬Av¬B)∧(¬CvA)

    这再次由两个子表达式组成,并且意味着将AND运算应用于(¬Av¬B)的结果和(¬CvA)的结果。为此,我们需要为括号中的每个表达式定义逻辑电路。

    以(¬Av¬B)开头: enter image description here

    接下来,我们找到(¬CvA): enter image description here

    现在我们已经定义了它们,我们可以回到我们原来的子表达式(¬Av¬B)∧(¬CvA)。现在,这告诉我们使用AND门组合逻辑电路的输出。为了使这更容易理解,让我们让(¬Av¬B)= E和(¬CvA)= F现在我们有表达式E∧F或E和F.见下图。 enter image description here

    现在我们已经创建了一个表达式(¬Av¬B)∧(¬CvA)的逻辑电路,我们可以称之为G.我们的原始表达式是¬((¬Av-B)∧(¬CvA))定义为¬(G)或NOT(G),它反转(或应用非门)到我们刚刚制作的逻辑电路的输出。见图片下面: enter image description here

    正如您所看到的,创建一个逻辑电路有多层“抽象”,这些逻辑电路由括号中的表达式划分。这是怎么回事。以下是一些可能对您有帮助的进一步阅读链接:

    布尔代数:wiki:https://en.wikipedia.org/wiki/Boolean_algebra

    卡诺图:https://en.wikipedia.org/wiki/Karnaugh_map

答案 1 :(得分:1)

你不能在地图上代表这些点:顶部的那个是非法的,因为它将输入连接到中间输出,而底部的那个连接两个输入。

一种方法是用表达式中的逻辑等效¬X∨Y替换蕴涵X→Y,并简化结果:

¬((¬A∨¬B)∧(¬C∨A))

您可以采取的另一种解决此问题的方法是为表达式构造一个真值表,将其放在Karnaugh Map中,并读取由AND,OR和NOT组成的简化表达式({{3} }。