第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

Java程序中奇怪的浮點(diǎn)行為

Java程序中奇怪的浮點(diǎn)行為

慕田峪4524236 2019-07-26 15:14:25
Java程序中奇怪的浮點(diǎn)行為在我的程序中,我有一個(gè)具有25個(gè)雙值0.04的數(shù)組,當(dāng)我試圖在循環(huán)中對(duì)這些值進(jìn)行求和時(shí),我得到以下結(jié)果:0.0 + 0.04 = 0.040.04 + 0.04 = 0.080.08 + 0.04 = 0.120.12 + 0.04 = 0.160.16 + 0.04 = 0.20.2 + 0.04 = 0.240000000000000020.24000000000000002 + 0.04 = 0.280.28 + 0.04 = 0.320.32 + 0.04 = 0.360.36 + 0.04 = 0.399999999999999970.39999999999999997 + 0.04 = 0.439999999999999950.43999999999999995 + 0.04 = 0.47999999999999990.4799999999999999 + 0.04 = 0.51999999999999990.5199999999999999 + 0.04 = 0.55999999999999990.5599999999999999 + 0.04 = 0.60.6 + 0.04 = 0.640.64 + 0.04 = 0.680.68 + 0.04 = 0.72000000000000010.7200000000000001 + 0.04 = 0.76000000000000010.7600000000000001 + 0.04 = 0.80000000000000020.8000000000000002 + 0.04 = 0.84000000000000020.8400000000000002 + 0.04 = 0.88000000000000020.8800000000000002 + 0.04 = 0.92000000000000030.9200000000000003 + 0.04 = 0.9600000000000003為什么會(huì)發(fā)生這種事?!
查看完整描述

3 回答

?
小怪獸愛(ài)吃肉

TA貢獻(xiàn)1852條經(jīng)驗(yàn) 獲得超1個(gè)贊

程序語(yǔ)言中浮點(diǎn)值最常見(jiàn)的存儲(chǔ)-IEEE單打和雙打-對(duì)大多數(shù)十進(jìn)制分?jǐn)?shù)沒(méi)有精確的表示。

原因是它們以二進(jìn)制浮點(diǎn)格式存儲(chǔ)值,而不是十進(jìn)制浮點(diǎn)格式。唯一能精確表示的分?jǐn)?shù)值是2的負(fù)冪和。數(shù)字如下:

  • 0.5 (2^-1)

  • 0.125 (2^-3)

  • 0.625 (2^-1 + 2^-3)

等。

你所看到的是,像0.96這樣的數(shù)字的表示并不完全是可表示的,因?yàn)樗鼈儾荒苡?的負(fù)冪之和來(lái)表示。因此,當(dāng)以十進(jìn)制小數(shù)的形式以完全精確的方式打印出來(lái)時(shí),它們將與原始值不匹配。




查看完整回答
反對(duì) 回復(fù) 2019-07-27
?
30秒到達(dá)戰(zhàn)場(chǎng)

TA貢獻(xiàn)1828條經(jīng)驗(yàn) 獲得超6個(gè)贊

查看完整回答
反對(duì) 回復(fù) 2019-07-27
?
繁華開(kāi)滿天機(jī)

TA貢獻(xiàn)1816條經(jīng)驗(yàn) 獲得超4個(gè)贊


其他答案提到了原因,但沒(méi)有提到如何避免。

有幾種解決辦法:

  • 縮放:如果您的所有數(shù)字都是0.01的倍數(shù)(例如),那么將所有數(shù)據(jù)乘以100,并使用整數(shù)算術(shù)(這是精確的)。
  • 數(shù)字類型:如果語(yǔ)言具有數(shù)字類型(類似于

    numeric

    輸入SQL),您可以使用它。
  • 任意精確理?yè)?jù):使用bignum庫(kù),如

    GMP

    ,它允許您將這些數(shù)字表示為兩個(gè)整數(shù)的比率。
  • 小數(shù)點(diǎn)浮點(diǎn)數(shù):如果您有十進(jìn)制浮點(diǎn)數(shù),如

    IEEE-754 r

    你可以用它。




查看完整回答
反對(duì) 回復(fù) 2019-07-27
  • 3 回答
  • 0 關(guān)注
  • 291 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)