電腦算術
關於訊號處理中使用的飽和運算,下列說明何者正確?
- A結果超過可表示的最大值時,不讓它繞回另一端,而是停留在最大值
- B結果超過最大值時,自動增加位元數以保持準確的值
- C結果超過最大值時,歸零後重新計算
查看答案與解析
正確答案:A. 結果超過可表示的最大值時,不讓它繞回另一端,而是停留在最大值
在一般的整數運算中,超過最大值就會因位數溢出而繞回最小值那一側,例如8位元有號數的 127 + 1 會變成 −128。若在語音或影像上發生這種情況,會造成最亮的點突然變暗這類很大的誤差。飽和運算則是在超過最大值時停留在最大值(127),低於最小值時停留在最小值(−128),因此能將誤差抑制得較小。DSP或SIMD的指令中都有提供。它並不會增加位元數或歸零。
- A. 正確。不繞回,而是停留在最大值或最小值。
- B. 位元數仍維持固定。
- C. 歸零反而會造成更大的誤差。