我寫了一個算法來計算兩個二進制數的乘法。在我的指令集中,沒有和指令,只是一個nand(不是)。我閱讀,邏輯上講,兩個nands創造一個和。我覺得這是非常簡單的,我也得太多Two Nands Make an And
因此,舉例來說,如果我想計算和3 & 1,我怎麼能做到這一點使用兩個NAND操作有兩個指令
我的ISA執行如下所示的Nand,並有8個編號爲0-7的寄存器。例如:
NAND 1 2 3(在REG1和REG2和存儲NAND內容在REG3)
我寫了一個算法來計算兩個二進制數的乘法。在我的指令集中,沒有和指令,只是一個nand(不是)。我閱讀,邏輯上講,兩個nands創造一個和。我覺得這是非常簡單的,我也得太多Two Nands Make an And
因此,舉例來說,如果我想計算和3 & 1,我怎麼能做到這一點使用兩個NAND操作有兩個指令
我的ISA執行如下所示的Nand,並有8個編號爲0-7的寄存器。例如:
NAND 1 2 3(在REG1和REG2和存儲NAND內容在REG3)
result = x nand y
result = result nand result
使用第二nand
作爲not
。
NAND是~(a & b)
所以如果你給它另一個~
,你會得到一個和。如果您沒有任何非門,您可以構建一個NAND:~(a & a)
與~a
相同。把它放在一起,你得到
nand r1 r2 r3
nand r3 r3 r3