電腦算術

將十進位的0.1以二進位浮點數表示時,下列說明何者正確?

  1. A以二進位也能剛好表示為0.1,因此不會產生誤差
  2. B在二進位中會成為無限循環小數,因此只能以捨入後的近似值來表示
  3. C以二進位表示時,會變成比原值剛好大10倍的值
查看答案與解析

正確答案:B. 在二進位中會成為無限循環小數,因此只能以捨入後的近似值來表示

十進位的0.1轉為二進位後,會成為0.000110011001100…,即0011無限重複的小數。浮點數的尾數位數有限,只能記錄中途捨入後的近似值,因此會產生些微的誤差。分母不是2的冪次的分數,都無法以有限的位數用二進位表示。另一方面,像0.5、0.25這類分母為2的冪次的數則能精確表示。不會發生使值變成10倍的轉換。

  • A. 0.1無法以有限的位數用二進位表示。
  • B. 正確。會成為無限循環的二進位小數,因此是捨入後的值。
  • C. 不會發生使值變成10倍的轉換。
練習這個領域 前往領域頁面

電腦算術的其他題目

  1. 在許多程式語言中,雙精度的 0.1 + 0.2 == 0.3 這個比較結果為假,其原因下列何者正確?
  2. IEEE 754單精度的機器epsilon(1與比1大的下一個可表示的數之差)是多少?
  3. 單精度與雙精度浮點數可信賴的十進位有效位數參考值,下列何者組合正確?
  4. IEEE 754的非正規化數(次正規數)所扮演的角色,下列何者正確?
  5. 在含有大量非正規化數的計算中,某些處理器的處理速度可能會大幅變慢。因此在重視效能的場合會使用的設定為下列何者?