-5

如何仅使用与非门转换此表达式 NOT(a) OR NOT(b) AND NOT(c)?我试图这样做,但我没有找到正确的答案。

4

3 回答 3

1

首先,所有的逻辑方程都可以用与非门来表示。考虑一个 NOT.... 只需将 NAND 的两个输入连接在一起,您就有了一个 NOT!一个非与非是一个与,一个或是两个非门驱动一个与非!这一切都很酷……对数理逻辑进行一些研究,您应该会找到各种转换技术的详细信息。

于 2015-10-21T22:24:37.043 回答
0

您可以逐步应用以下公式:

NOT(A) OR NOT(B) = A NAND B
A AND B = NOT(A NAND B)
NOT(A) = A NAND A
于 2015-10-21T22:21:44.497 回答
0

我建议使用 Rott 的网格。它是 De Morgan 定律的图形应用,对于仅使用 NOR 和 NAND 门的组合优化设计很有用。通常它可以很快完成,而不必担心犯错误。

每个 Rott 的网格都是根据以下三个原则创建的:

  • 德摩根定律通过在 ⋅ (合取)和 + (析取)之间切换并将它们用水平线(否定)分开来得到尊重,
  • 垂直线分隔各个输入,改变逻辑门输入的数量,
  • 在最后一行放置输入变量的素数或否定形式——这由它们上方的水平线数单独确定(初始 ¬ 也计算在内)。

这是匹配 Rott 网格中的给定表达式:

f = ¬a + ¬b ⋅ ¬c 
   --------------
       ⋅    +    
       | --------
       |    ⋅
       |    |
     a | ¬b | ¬c

与原始表达式等效的函数。

如您所见,原始表达式已转换为等效表达式,即仅使用两个 2 输入 NAND 门(以及一些反相器,也可以用 NAND 门代替)。网格只是将德摩根定律应用于原始表达式的图形表示:

f =    (¬a  +  (¬b ⋅ ¬c))
  = ¬(¬(¬a  +  (¬b ⋅ ¬c)))        //double negation law: ¬(¬x) = x
  =  ¬(¬¬a  ⋅ ¬(¬b ⋅ ¬c))         //De Morgan's law
  =    ¬(a  ⋅ ¬(¬b ⋅ ¬c))         //double negation law: ¬¬a = a

f = nand(a, nand(not(b), not(c)))

(.gif 图片是使用在线乳胶工具生成的)

于 2016-03-18T08:33:31.423 回答