電腦算術

下列何者是超前進位加法器所使用的各位數的產生訊號 g 與傳遞訊號 p 的定義(a、b為該位數的輸入),以及往上一位數的進位 c(i+1) 之算式的正確組合?

  1. Ag = a + b、p = a・b、c(i+1) = p + g・c(i)
  2. Bg = a・b、p = a ⊕ b、c(i+1) = g + p・c(i)
  3. Cg = a ⊕ b、p = a・b、c(i+1) = g・p・c(i)
查看答案與解析

正確答案:B. g = a・b、p = a ⊕ b、c(i+1) = g + p・c(i)

當該位數的 a 與 b 皆為1時,不論來自下方的進位為何,必定會產生進位,因此產生訊號為 g = a・b。若 a 與 b 僅有其中一個為1,則會把來自下方的進位直接傳往上方,因此傳遞訊號為 p = a ⊕ b(也有採用OR的情況)。故 c(i+1) = g(i) + p(i)・c(i),將其展開後,各位數的進位僅需由輸入的 g、p 與最低位的進位,即可以兩級邏輯平行求得。若把產生與傳遞弄混,算式便無法正確計算。

  • A. g與p的定義相反,算式也有誤。
  • B. 正確。g = a・b、p = a ⊕ b、c(i+1) = g + p・c(i)。
  • C. 定義相反,且算式全為AND,因此有誤。
練習這個領域 前往領域頁面

電腦算術的其他題目

  1. 在乘法器中,加總大量部分積時會使用進位保留加法器,其主要理由為下列何者?
  2. 關於高速乘法器所使用的華勒斯樹(Wallace tree)的特徵,下列何者正確?
  3. 在乘法器中使用基數4的布斯演算法(Booth編碼)的主要效果為下列何者?
  4. 將無號的8位元數彼此相乘時,要使結果不發生位數溢出而能表示,所需的位元數為下列何者?
  5. 不使用乘法指令,而以位移與加法將整數 x 乘以10的算式,下列何者正確?