電腦算術

在乘法器中使用基數4的布斯演算法(Booth編碼)的主要效果為下列何者?

  1. A使乘法的結果不經捨入而能準確求得
  2. B將乘數置換為有號的位數,使部分積減少至約一半
  3. C雖然無法進行有號數的乘法,但能縮小電路
查看答案與解析

正確答案:B. 將乘數置換為有號的位數,使部分積減少至約一半

在一般的乘法中,乘數的每1位元都會產生1個部分積,因此n位元就必須加總n個部分積。基數4的布斯編碼會每2位元(觀察有重疊的3位元)將乘數置換為 −2、−1、0、+1、+2 的位數,因此部分積減少為約n/2個。−2倍或+2倍只要移1位元,負值則可用二補數產生,所以電路也很簡單。部分積減少的部分,使加總的電路變得更小且更快。有號數的乘法也能自然地處理。

  • A. 整數的乘法本來就是準確的,並非布斯法的目的。
  • B. 正確。使部分積的數量減少至約一半。
  • C. 布斯法能自然地處理有號數的乘法。
練習這個領域 前往領域頁面

電腦算術的其他題目

  1. 將無號的8位元數彼此相乘時,要使結果不發生位數溢出而能表示,所需的位元數為下列何者?
  2. 不使用乘法指令,而以位移與加法將整數 x 乘以10的算式,下列何者正確?
  3. 一般的整數除法器(逐位元求商的恢復型、非恢復型等)比乘法器更容易變慢,其理由下列何者正確?
  4. 將8位元有號整數 −8(1111 1000)以算術右移向右移1位元的結果為下列何者?
  5. 在C語言中,int型的 −7 / 2 與 −7 >> 1(算術右移的情況)的結果,下列何者組合正確?