電腦算術

將無號的8位元數彼此相乘時,要使結果不發生位數溢出而能表示,所需的位元數為下列何者?

  1. A8位元
  2. B9位元
  3. C16位元
查看答案與解析

正確答案:C. 16位元

8位元無號數的最大值為255,因此最大的乘積為 255 × 255 = 65025。這個值小於 2¹⁶ = 65536 且大於 2¹⁵ = 32768,所以有16位元就一定能表示,15位元則不夠。一般而言,n位元與m位元的數的乘積可用 n + m 位元表示。因此乘法器的輸出通常具有輸入2倍的寬度。9位元則是加法結果(和為 n + 1 位元)所需的寬度。

  • A. 8位元只能表示到255,乘積會溢出。
  • B. 9位元是加法結果所需的寬度。
  • C. 正確。最大的乘積65025可用16位元表示。
練習這個領域 前往領域頁面

電腦算術的其他題目

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