布尔代数 - 将OR门构建为NAND门

时间:2010-10-15 17:50:24

标签: boolean-logic boolean-expression

我试图围绕如何做到这一点。 据我所知,如果可以使用门的某些组合来执行每个基本逻辑运算AND,OR和NOT,则将一组逻辑门称为“功能完整”。声称NAND门在功能上是完整的。

我不明白的是如何构建OR门作为nand门。从NAND门等构建AND门。我想出的公式必须具有相同的输出吗?

 X' = X NAND 1
 X + Y = ?
 X * Y = ?

使用真值表X'= X NAND 1是什么?

我不确定X NAND 1的含义是什么..我理解1固定为y?

当我看到2个输入之间的门如x NAND y

时,我感到困惑

如何构建x + y = NAND的真值表?

或者我应该采用不同的方式吗?

4 个答案:

答案 0 :(得分:2)

按照定义:

X NAND Y =〜(X AND Y)=〜X OR~Y

替换Y = 1并看到你会得到

X NAND 1 = ~X OR~1 = ~X OR 0 = ~X = X'

修改

为了让您了解如何使用NAND门构建其他门,这篇维基百科文章非常好且信息丰富。希望它有所帮助。

http://en.wikipedia.org/wiki/NAND_logic

答案 1 :(得分:1)

是的,X NAND 1X NAND Y类似,Y固定为1.您要比较X的事情不必称为Y;它可以是任何变量,任何常数或另一个比较的结果。最重要的是最终值是0还是1。

示例:

 X | Y | 1 | X OR Y
---+---+---+--------
 0 | 0 | 1 |    0
 0 | 1 | 1 |    1
 1 | 0 | 1 |    1
 1 | 1 | 1 |    1

现在,只需将第一列中的数字与第二列,第三列或第四列中的数字进行比较,即可X AND YX AND 1X AND (X OR Y)

至于NAND具体而言,请记住它与AND相反。它实际上代表“不和。”所以,如果你AND将两个东西放在一起得到0,那么NAND将两个相同的东西放在一起会给你1个。

那就是说,你的最后一个问题没有多大意义。没有X+Y = NAND之类的东西。 XYX+Y是值; NAND是一扇门。您无法将数字与门进行比较。您的问题是要求您使用NAND门来反复比较,直到您获得一列零和一些与X+Y相同的内容。

编辑:
好吧,让我们看一下你的问题“使用真值表X'= X NAND 1?”

 X | X' | 1 |   X AND 1   | X NAND 1 is the same as the opposite of X AND 1
---+----+---+-------------+-------------------------------------------------
 0 | 1  | 1 | 0 AND 1 = 0 |               1 (opposite of 0)
 0 | 1  | 1 | 0 AND 1 = 0 |               1 (opposite of 0)
 1 | 0  | 1 | 1 AND 1 = 1 |               0 (opposite of 1)
 1 | 0  | 1 | 1 AND 1 = 1 |               0 (opposite of 1)

查看每列,我们可以看到X'X NAND 1具有相同的值

答案 2 :(得分:0)

NAND基本上与AND相反:
真相表

A    B    A NAND B   A AND B   A OR B   A NOR B
0    0       1         0         o         1
0    1       1         0         1         0
1    0       1         0         1         0
1    1       0         1         1         0

通过使用这些和其余的布尔运算符进行正确的组合,您应该能够根据其他运算符构造任何一个

答案 3 :(得分:-1)

快速真相表:

NAND 1 0
0    1 1
1    0 1

OR 1 0
0  1 0
1  1 1

NOT
1   0
0   1

功能完整意味着,如果有一堆完整的门,你可以构建任何其他门类型。

因此,如果您构建一个具有1个与非门的电路,则会得到与“或”门完全相反的情况(输入反转)。如果您的目标是构建OR门,则必须反转NAND门的输入。这对于一对非门很容易做到(如果仔细观察,就像NAND门一样,其输入与逻辑1相连)。所以你把那些NOT门放在你的NAND门之前和 voila ,OR门就会掉出来。

为了让您感到困惑,将门放在两个输入之间就是将该门用作二元运算符,如+符号。这与说NAND(X,1)或“当NAND输入为X​​和1时NAND门的输出”相同。