電腦算術

當 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 或 ∞ − ∞ 等產生,並會擴散到之後的計算。比較時發生例外而停止並非預設的行為。

  • A. NaN之間不被視為相等。
  • B. 正確。NaN與自身也不相等。
  • C. 並非比較時必定停止。
練習這個領域 前往領域頁面

電腦算術的其他題目

  1. 在IEEE 754的單精度中,指數部分全為1(255)的位元串所表示的內容,下列說明何者正確?
  2. 關於IEEE 754浮點數中的+0與−0,下列說明何者正確?
  3. 下列何者是IEEE 754所規定的預設捨入方式?
  4. 以就近捨入至偶數的方式捨入為整數時,2.5與3.5各會成為多少?
  5. 將兩個幾乎相等的浮點數相減時,有效位數大幅減少的現象稱為什麼?