【问题标题】:Two Nands Make an And两个 Nand 做一个 And
【发布时间】:2014-01-30 21:39:23
【问题描述】:

我写了一个算法来计算两个二进制数的乘法。在我的指令集中,没有 and 指令,只有一个 nand(不是 and)。我读过,从逻辑上讲,两个 nand 做一个 and 是有道理的。我觉得这很简单,我想多了

例如,如果我想计算 3 和 1 的和,我怎么能用两个指令和两个 nand 操作来做到这一点

我的 ISA 执行如下的 Nand,并有 8 个编号为 0-7 的寄存器。例如:

nand 1 2 3(reg1和reg2中的nand内容并存储在reg3中)

【问题讨论】:

标签: logical-operators opcode instruction-set


【解决方案1】:
result = x nand y
result = result nand result

将第二个nand 用作not

【讨论】:

    【解决方案2】:

    NAND 是~(a & b),所以如果你再给它一个~,你会得到一个and。如果您没有任何非门,您可以用 NAND 构建一个:~(a & a)~a 相同。把它放在一起,你就得到了

    nand r1 r2 r3
    nand r3 r3 r3
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-11-27
      • 2019-03-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-10-25
      相关资源
      最近更新 更多