浮點數小數位數問題?

用電腦浮點數計算出來的值跟用計算機按出來的值小數位數會不會有誤差?

4 Answers

Rating
  • 1 decade ago
    Favorite Answer

    電腦 (Computer) 用的浮點數,必定有誤差!

    不奇怪!

    十進位也有誤差!

    不信? 1 / 7 = ?

    沒誤差啊! 0.[142857] ( [ ] 表循環)

    喔!那 pi 呢? 3.141592653589...

    有沒有誤差?

    任何進位制,若位數有限,能表示的精確數值,就必有限!

    (小數部份)較正確的說法:

    只要(最簡分數的)分母含有非進位制的因數的,

    都不可能用有限位數表示出來!

    如:十進位 的 10 的(質)因數,只有 2 和 5

    十進位能用有限位數表示的,只有 X / (2^m * 5^n) 的數!

    電腦用的浮點數,簡言之,是二進位的!

    所以,(最簡分數的)分母只要含有非 2 的因數,就不能用有限位數表示出來!

    電腦常用的浮點數有 24 和 53 位數!

    所以,是有限位數!

    必定有誤差!

    (換成十進位是約 7.22位 和 約 15.95位)

    = = = =

    連準確表示有理數都有困難了,怎麼可能準確表示無理數?

    = = = =

    電腦另有 Symbolic Calculation (SC),可以在計算中沒有誤差!

    但,一旦要它印出,一樣,紙張長度、頁數有限!

    一樣有誤差!

    SC 不是浮點數!

    = = = =

    計算機 (Calculator) 就不同了!

    它沒有較公訂的位數!

    商用的/工程用的,又不同!

    工程用的,通常是 12 或 14 位!

    商用的,通常是 8 或 10位。

    但,數年前,為了瘋大家樂,有 30位的〝賭〞用計算機問世!

    (1822年也有可算 31位數的機械計算器問世。)

    而現在量產 chip,計算機核心也有可能是用電腦用的 FPU 的規格!

    所以,千變化化,很難說〝一般〞的計算器是幾位數!

    = = = =

    回到電腦的浮點數!

    在計算中,也有快速與準確兩種模式!

    連 IEEE 本身對最後的誤差處理的定義,也沒有〝極〞明確!

    所以,同是 float 或 double 的浮點數,

    仍會有不同的誤差!

    = = = =

    回到提問者的本題:這兩者會不會有誤差?

    答案是:可以說 100% 會!

    它們:

     本身自己就會

     位數不同,當然也會

     求準/求快不同,更會

     不同尾數誤差取法,還會!

     不同機種,更更更會!

    這樣,不知有沒有解答您的問題?

  • Anonymous
    7 years ago

    到下面的網址看看吧

    ▶▶http://*****/

  • Anonymous
    7 years ago

    線上遊戲天堂 http://ts999.tw/

    運動遊戲

    實況棒球、籃球、足球、冰球、網球等多種經典賽事

    即時遊戲

    百家、21點、牌九、二八杠、骰寶、龍虎、輪盤、牛牛、番攤

    對戰遊戲

    麻將、德州撲克、二八杠、吹牛、鬥地主、13支、暗棋、接龍

    電子遊戲

    5PK、7PK、水果盤遊戲、5輪遊戲、極限飆速、趙雲救主、西遊戲、金瓶梅、中國美人、英雄

    彩球遊戲

    大樂透、六合、時時彩、今彩539、3星彩、4星彩

    最新優惠活動

    1. 運動遊戲連過5關,彩今再加碼10%

    2. 新會員加入,有機會獲得500元禮券與精美讀卡機

    3. 遊戲積分可兌換汽機車、3C、精品等多種大獎

    ****體驗試玩喔~!

    線上遊戲天堂 http://ts999.tw/

  • 鳳綾
    Lv 4
    1 decade ago

    冠上「數位」者,離散取值,精度有限,

    若小數位多,便有取值上的誤差。

Still have questions? Get your answers by asking now.