什麼是NaN

Not a Number的縮寫,是在0 ÷ 0或負數的平方根等結果無法確定為數的運算中產生的浮點特殊值。以指數部全為1且有效數不為0的值表示,NaN之間比較也不會相等。

日文名稱: NaN

「NaN」出現在1領域的6道練習題中(電腦算術等)。

這個名詞所屬的領域: 電腦算術

練習NaN的題目

當 x 為NaN時,在許多程式語言中評估 x == x 的結果為下列何者?

  1. A真
  2. B假
  3. C發生例外,程式必定停止
查看答案與解析

正確答案:B. 假

在IEEE 754中,NaN是「非數」的值,因此與任何值比較都不會相等,與NaN自身比較時 x == x 也為假(x != x 為真)。也有人利用這個性質,以 x != x 來判定是否為NaN,不過通常會使用專用的函式(isnan等)。NaN是由 0 ÷ 0 或 ∞ − ∞ 等產生,並會擴散到之後的計算。比較時發生例外而停止並非預設的行為。

解析中的「NaN」

出現「NaN」的題目(6題)

  1. 當 x 為NaN時,在許多程式語言中評估 x == x 的結果為下列何者?
  2. 在IEEE 754的單精度中,當指數部分所記錄的值為130時,實際的指數(2的幾次方)是多少?
  3. 在IEEE 754浮點數的運算中,將正數除以0時,規格所規定的結果為下列何者?
  4. 在IEEE 754的單精度中,指數部分全為1(255)的位元串所表示的內容,下列說明何者正確?
  5. 以單精度浮點數將1億(10⁸)加上1,結果仍維持為1億而沒有改變。關於此現象,下列說明何者正確?
  6. FP16(符號1・指數部分5位元(偏移值15)・尾數10位元)所能表示的最大有限值是多少?

相關名詞

IEEE 754 非正規化數 有效數(Significand) 資訊遺失(Absorption) 布斯演算法(Booth's algorithm) 先行進位加法器 有效位數損失(Catastrophic cancellation) 定點數 指數欄位 捨入至最接近偶數

前往名詞解釋列表