電腦算術

在含有大量非正規化數的計算中,某些處理器的處理速度可能會大幅變慢。因此在重視效能的場合會使用的設定為下列何者?

  1. A將成為非正規化數的結果或輸入視為0的設定(flush-to-zero)
  2. B將所有計算自動從雙精度轉換為單精度的設定
  3. C一旦發現非正規化數就讓程式停止的設定
查看答案與解析

正確答案:A. 將成為非正規化數的結果或輸入視為0的設定(flush-to-zero)

非正規化數是不假設開頭有1的特殊形式,因此在某些處理器上無法以高速電路處理,而是透過微碼等花費時間處理,有時會比平常慢上數十倍。在語音處理或AI等不需要精確處理極接近0的值的場合,會採用將非正規化數視為0的flush-to-zero設定來維持速度。代價是0附近的精度以及漸進式下溢的性質會喪失。它並不會一律更改精度,也不會讓程式停止。

  • A. 正確。將非正規化數視為0,以防止變慢。
  • B. 並不是一律更改精度的設定。
  • C. 若停止,計算便無法進行。
練習這個領域 前往領域頁面

電腦算術的其他題目

  1. 在IEEE 754浮點數的運算中,將正數除以0時,規格所規定的結果為下列何者?
  2. 當 x 為NaN時,在許多程式語言中評估 x == x 的結果為下列何者?
  3. 在IEEE 754的單精度中,指數部分全為1(255)的位元串所表示的內容,下列說明何者正確?
  4. 關於IEEE 754浮點數中的+0與−0,下列說明何者正確?
  5. 下列何者是IEEE 754所規定的預設捨入方式?