電腦算術

關於訊號處理中使用的飽和運算,下列說明何者正確?

  1. A結果超過可表示的最大值時,不讓它繞回另一端,而是停留在最大值
  2. B結果超過最大值時,自動增加位元數以保持準確的值
  3. C結果超過最大值時,歸零後重新計算
查看答案與解析

正確答案:A. 結果超過可表示的最大值時,不讓它繞回另一端,而是停留在最大值

在一般的整數運算中,超過最大值就會因位數溢出而繞回最小值那一側,例如8位元有號數的 127 + 1 會變成 −128。若在語音或影像上發生這種情況,會造成最亮的點突然變暗這類很大的誤差。飽和運算則是在超過最大值時停留在最大值(127),低於最小值時停留在最小值(−128),因此能將誤差抑制得較小。DSP或SIMD的指令中都有提供。它並不會增加位元數或歸零。

  • A. 正確。不繞回,而是停留在最大值或最小值。
  • B. 位元數仍維持固定。
  • C. 歸零反而會造成更大的誤差。
練習這個領域 前往領域頁面

電腦算術的其他題目

  1. 下列何者是超前進位加法器所使用的各位數的產生訊號 g 與傳遞訊號 p 的定義(a、b為該位數的輸入),以及往上一位數的進位 c(i+1) 之算式的正確組合?
  2. 在乘法器中,加總大量部分積時會使用進位保留加法器,其主要理由為下列何者?
  3. 關於高速乘法器所使用的華勒斯樹(Wallace tree)的特徵,下列何者正確?
  4. 在乘法器中使用基數4的布斯演算法(Booth編碼)的主要效果為下列何者?
  5. 將無號的8位元數彼此相乘時,要使結果不發生位數溢出而能表示,所需的位元數為下列何者?