2010-10-15 32 views
0

我正在採取數字邏輯類,我試圖乘以這個二進制數。我不確定這是一個什麼樣的結果,是一個徹頭徹尾的問題。老師的幻燈片很糟糕。看來他用真理表來做到這一點,但它令人困惑。二進制與非門 - 布爾代數

X1X0 
+ Y1Y0 
    ---- 
Z2Z1Z0 

我認爲這是怎麼設置的!現在,乘法部分

1 carry in? 
110101 
X 1101 
------ 
101011001 thats what i ended up with. Probobly, not right! 

我想我的真值表應該是這個樣子:記住這不是設置爲我的回答上述

 X1X0 
    + Y1Y0 
     ---- 
    Z2Z1Z0 

     X0 Y0 Carry  Z0 
     0 0  0  0 
     1 0  0  1 
     0 1  0  1 
     1 1  1  0 



    X1 Y1 Carryin   Carryout Z1 
    0 0  0      0 0 
    1 0  0      0 1 
    0 1  0      0 1 
    1 1  0      1 0 
    0 0  1      0 1 
    1 0  1      1 0 

我上X1困惑和y1 part 如果我可以看到它在行動中並且標記「攜帶」是什麼並且「執行」是它的乘數時,它會更容易。

「進位」是1 + 1的結果,「執行」是下一個進位結果的結果嗎?

,我認爲我們得到的進位完成的真值表,開展 我們使用布爾代數等之後:

Z1 = X1• Y1' • Carryin' + X1' • Y1• Carryin' + X1' • Y1' • Carryin + X1• Y1• Carryin 
Carryout = X1• Y1• Carryin' + X1 • Y1' • Carryin + X1' • Y1• Carryin + X1 • Y1• Carryin 
Z2 = Carryout 

我們要「爲制定出方程AND,OR和NOT函數僅使用NAND運算符。「不知道如何做到這一點!

回答

1

NAND只是一個AND操作,然後是NOT

與剛剛NAND實施其他布爾操作方面:

NOT a = a NAND a 

a | (a NAND a) | result 
--+------------+------- 
0 |  1  | OKAY 
1 |  0  | OKAY 

a AND b = NOT (NOT (a AND b)) 
     = NOT (a NAND b) 
     = (a NAND b) NAND (a NAND b) 

a | b | x=(a NAND b) | (x NAND x) | result 
--+---+--------------+------------+------- 
0 | 0 |  1  |  0  | OKAY 
0 | 1 |  1  |  0  | OKAY 
1 | 0 |  1  |  0  | OKAY 
1 | 1 |  0  |  1  | OKAY 

a OR b = NOT((NOT a) AND (NOT b))    # DeMorgans Law 
     = NOT((a NAND a) AND (b NAND b)) 
     = NOT(NOT ((a NAND a) NAND (b NAND b))) 
     = (a NAND a) NAND (b NAND b) 

a | b | x=(a NAND a) | y = (b NAND b) | (x NAND y) | result 
--+---+--------------+----------------+------------+------- 
0 | 0 |  1  |  1  |  0  | OKAY 
0 | 1 |  1  |  0  |  1  | OKAY 
1 | 0 |  0  |  1  |  1  | OKAY 
1 | 1 |  0  |  0  |  1  | OKAY 
+0

是什麼IN1和IN2?你能告訴我什麼進行和執行是當你執行一個實際的乘法? – Steller 2010-10-15 07:57:07

+0

如果你可以做一個乘法二進制數字並且製作一個真值表,並且標記這些進位,所以我可以看到它們在進行時的行動。謝謝 – Steller 2010-10-15 08:20:47