電腦算術
在含有大量非正規化數的計算中,某些處理器的處理速度可能會大幅變慢。因此在重視效能的場合會使用的設定為下列何者?
- A將成為非正規化數的結果或輸入視為0的設定(flush-to-zero)
- B將所有計算自動從雙精度轉換為單精度的設定
- C一旦發現非正規化數就讓程式停止的設定
查看答案與解析
正確答案:A. 將成為非正規化數的結果或輸入視為0的設定(flush-to-zero)
非正規化數是不假設開頭有1的特殊形式,因此在某些處理器上無法以高速電路處理,而是透過微碼等花費時間處理,有時會比平常慢上數十倍。在語音處理或AI等不需要精確處理極接近0的值的場合,會採用將非正規化數視為0的flush-to-zero設定來維持速度。代價是0附近的精度以及漸進式下溢的性質會喪失。它並不會一律更改精度,也不會讓程式停止。
- A. 正確。將非正規化數視為0,以防止變慢。
- B. 並不是一律更改精度的設定。
- C. 若停止,計算便無法進行。