国产av一二三区|日本不卡动作网站|黄色天天久久影片|99草成人免费在线视频|AV三级片成人电影在线|成年人aV不卡免费播放|日韩无码成人一级片视频|人人看人人玩开心色AV|人妻系列在线观看|亚洲av无码一区二区三区在线播放

網(wǎng)易首頁 > 網(wǎng)易號 > 正文 申請入駐

眾所不周知,其實(shí)計(jì)算機(jī)算不出 0.1+0.2=0.3?!

0
分享至


???????????????????????????????????????????????????????????????????????

眾所不周知,大部分編程語言都算不出0.1+0.2=0.3。

比如Javascript一通計(jì)算下的結(jié)果就為:0.30000000000000004


cloud.tencent

你可能會說:“你先等會兒!”

然后打開windows上自帶的計(jì)算器,輸入“0.1+0.2”,然后拿著計(jì)算結(jié)果掄圓了準(zhǔn)備打我的小臉。


自制

其實(shí),計(jì)算器看似正確的結(jié)果,只是計(jì)算器把存在精度問題的最后幾位在顯示的時候舍入掉了而已。我們可以理解為這是一種“障眼法”。


自制

那問題到底出在哪兒?

要理解這個現(xiàn)象,得先搞明白計(jì)算機(jī)是怎么看待小數(shù)的。

我們平時用的是十進(jìn)制,但計(jì)算機(jī)只懂二進(jìn)制,也就是那一堆0和1。把十進(jìn)制小數(shù)轉(zhuǎn)成二進(jìn)制,用的是“乘2取整”法。以 0.1 為例:


自制

看出來了嗎?0.1 的二進(jìn)制是無限循環(huán)的:0.00011001100110011……(0011 循環(huán))。

同樣,0.2 的二進(jìn)制也是無限循環(huán):0.0011001100110011……(0011 循環(huán))。

看不出來也不要緊,我們只要記住:我們十進(jìn)制世界里大部分稀松平常的小數(shù),二進(jìn)制都是無法精準(zhǔn)表達(dá)的。

0.1 和 0.2在二進(jìn)制世界里,就是“無限循環(huán)小數(shù)”,也就如同十進(jìn)制無法精確表示 1/3 一樣。

除了0.1和0.2以外,π、√2等數(shù)學(xué)上的無理數(shù)(無限不循環(huán)小數(shù)),二進(jìn)制下更是超綱了,計(jì)算機(jī)同樣也是無法精確表示的。

弄懂了這個概念,我們再來看計(jì)算機(jī)的存儲法則。

我們現(xiàn)在主流的編程語言,通用的存儲法基本都是“IEEE 754浮點(diǎn)數(shù)標(biāo)準(zhǔn)”,只要是使用了這個存儲標(biāo)準(zhǔn)的語言,比如JavaScript、C/C++、Java、以及曾號稱人人都應(yīng)該掌握的Python等等,都是無法準(zhǔn)確計(jì)算出“0.1+0.2=0.3”的。


自制

IEEE 754是由電氣與電子工程師協(xié)會(IEEE)于1985年制定的浮點(diǎn)運(yùn)算技術(shù)標(biāo)準(zhǔn)。

在這部“數(shù)字憲法”制定之前,各大計(jì)算機(jī)廠家都有自己的浮點(diǎn)數(shù)存儲法則,你不兼容我的,我不care你的,主打一個各論各的,造成了很多混亂。

IEEE 754標(biāo)準(zhǔn)就規(guī)定了浮點(diǎn)數(shù)在計(jì)算機(jī)中的存儲格式,常見的有32位單精度和64位雙精度。每個數(shù)被拆分為符號位、指數(shù)位和尾數(shù)位三部分,尾數(shù)位長度是固定的(如雙精度為52位),那么遇到無限循環(huán)或者無限不循環(huán)小數(shù)的時候,怎么辦?那就是把尾數(shù)“一剪沒”了。

這樣截?cái)嗷蛏崛?,就給0.1和0.2造成了存儲誤差。兩個近似值相加,誤差累積,就導(dǎo)致了0.1+0.2≠0.3的現(xiàn)象。


梅開二度、二度返場|《夏洛特?zé)馈?/strong>

你可能又得問:浮點(diǎn)數(shù)存儲為啥非得把尾數(shù)截了?計(jì)算機(jī)這么牛,全存了不行嗎?

答案很簡單:不是不想,是做不到。

很多人以為計(jì)算機(jī)存儲和計(jì)算都是絕對精確的,其實(shí)這是個誤解。

存整數(shù)確實(shí)可以——比如數(shù)字 42,轉(zhuǎn)成二進(jìn)制 101010,放進(jìn)固定大小的空間里,只要空間夠大(不溢出),拿出來還是 42,分毫不差。就像把雞蛋放進(jìn)倉庫,拿出來還是那個雞蛋。

但問題是,數(shù)學(xué)世界里的數(shù)遠(yuǎn)不止如此。無限循環(huán)和無限不循環(huán)的數(shù),遠(yuǎn)遠(yuǎn)多于整數(shù)。

計(jì)算機(jī)的存儲空間是有限的,無論用多少位,都裝不下一個無限長的二進(jìn)制串。所以,它只能截取前幾十位,后面的直接扔掉。

你可能又會想:那能不能把空間做得再大點(diǎn),存更多位?從幾十位變成幾百位也行?。?/strong>

理論上可以,但實(shí)際意義不大。

對絕大多數(shù)工程、圖形、科學(xué)計(jì)算來說,“IEEE 754浮點(diǎn)數(shù)存儲法”所用的 64 位雙精度(約 15-17 位有效數(shù)字)已經(jīng)足夠精確。


對不同領(lǐng)域來說,計(jì)算精度要求是不同的,天文學(xué)家能算準(zhǔn)光年就很牛了|網(wǎng)絡(luò)



如設(shè)計(jì)飛機(jī)、渲染電影、模擬天氣,沒人需要知道 π 的第10000位是什么(當(dāng)然,π能不能算到最后一位,在數(shù)學(xué)上意義重大,可能意味著數(shù)學(xué)大廈的地基比如微積分、極限理論被動搖)。況且,無理數(shù)有無窮多個,再大的空間也裝不完。

所以計(jì)算機(jī)選擇了一種“務(wù)實(shí)”的策略:用有限的存儲,近似地表示所有的實(shí)數(shù)。專業(yè)的相關(guān)學(xué)科就叫做計(jì)算機(jī)數(shù)值分析,研究的就是“近似”的藝術(shù)。

對于任何一個數(shù)值計(jì)算問題,數(shù)值分析都會追問:誤差有多大?算法快不快?結(jié)果穩(wěn)不穩(wěn)?能不能算出來?只要這四個問題都能給出滿意的答案,那就是合格的計(jì)算結(jié)果。

回到 0.1 + 0.2。這不是程序的 bug,而是二進(jìn)制與有限存儲共同作用的必然結(jié)果。

理解這個“誤差”,就是數(shù)值分析教給我們的最重要一課:

認(rèn)識誤差,理解誤差,最終學(xué)會與誤差共存,并控制它。

????

參考資料:

[1]https://bbs.huaweicloud.com/blogs/287063

[2] https://www.puntoflotante.net/FLOATING-POINT-FORMAT-IEEE-754.htm

[3]https://www.h-schmidt.net/FloatConverter/IEEE754.html

特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺“網(wǎng)易號”用戶上傳并發(fā)布,本平臺僅提供信息存儲服務(wù)。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相關(guān)推薦
熱點(diǎn)推薦
1億買下廣州恒大!許家印最擅長的卻是打籃球:45分比賽他砍30分

1億買下廣州恒大!許家印最擅長的卻是打籃球:45分比賽他砍30分

風(fēng)過鄉(xiāng)
2026-04-19 08:58:14
免費(fèi)代言天花板!雷軍喊話要代言紅牛 后者發(fā)聲

免費(fèi)代言天花板!雷軍喊話要代言紅牛 后者發(fā)聲

快科技
2026-04-18 17:38:03
一天中,最佳的性生活時間是在幾點(diǎn)?早上好還是晚上好?出乎意料

一天中,最佳的性生活時間是在幾點(diǎn)?早上好還是晚上好?出乎意料

鬼菜生活
2026-04-18 16:21:25
奧黛麗赫本人生最后30年:在瑞士小鎮(zhèn)一座帶花園的漂亮房子里度過

奧黛麗赫本人生最后30年:在瑞士小鎮(zhèn)一座帶花園的漂亮房子里度過

毒舌小紅帽
2026-04-17 18:24:06
北京發(fā)布大風(fēng)、沙塵雙預(yù)警!局地陣風(fēng)超10級

北京發(fā)布大風(fēng)、沙塵雙預(yù)警!局地陣風(fēng)超10級

BRTV新聞
2026-04-19 11:19:19
恒大集團(tuán)許家印坑的最慘的9位大佬

恒大集團(tuán)許家印坑的最慘的9位大佬

地產(chǎn)微資訊
2026-03-29 19:08:15
鹵菜店使用“四姐”二字被索賠50萬元,店主:大家都叫我四姐,為什么告我侵權(quán)

鹵菜店使用“四姐”二字被索賠50萬元,店主:大家都叫我四姐,為什么告我侵權(quán)

環(huán)球網(wǎng)資訊
2026-04-11 21:50:22
世界杯總決賽名單出爐,跳水隊(duì)迎來大“換血”,全紅嬋陳芋汐在列

世界杯總決賽名單出爐,跳水隊(duì)迎來大“換血”,全紅嬋陳芋汐在列

不似少年游
2026-04-16 17:05:57
何潤東被考古,曾參加《非誠勿擾》被嫌嘴唇厚,介紹完滅了7盞燈

何潤東被考古,曾參加《非誠勿擾》被嫌嘴唇厚,介紹完滅了7盞燈

非常先生看娛樂
2026-04-04 16:57:06
突變!霍爾木茲海峽,關(guān)閉!伊朗:特朗普“毫無可信度”!加密貨幣,超18萬人爆倉!

突變!霍爾木茲海峽,關(guān)閉!伊朗:特朗普“毫無可信度”!加密貨幣,超18萬人爆倉!

證券時報(bào)e公司
2026-04-19 07:55:14
《逐玉》最大黑馬!7歲寧娘曹晏寧爆紅 一聲姐夫讓張凌赫的心融化

《逐玉》最大黑馬!7歲寧娘曹晏寧爆紅 一聲姐夫讓張凌赫的心融化

達(dá)達(dá)哥
2026-04-17 21:25:31
衛(wèi)冕之旅首戰(zhàn)告捷!趙心童轟3桿破百,10-7躋身世錦賽16強(qiáng)

衛(wèi)冕之旅首戰(zhàn)告捷!趙心童轟3桿破百,10-7躋身世錦賽16強(qiáng)

全景體育V
2026-04-19 05:57:36
最新!伊朗炮擊印度油輪后續(xù):印度提出強(qiáng)烈抗議,伊朗當(dāng)面回應(yīng)!

最新!伊朗炮擊印度油輪后續(xù):印度提出強(qiáng)烈抗議,伊朗當(dāng)面回應(yīng)!

影像溫度
2026-04-19 13:14:33
韓國一美女因晨跑健身“走紅”,身材緊致太吸睛,網(wǎng)友:太漂亮了

韓國一美女因晨跑健身“走紅”,身材緊致太吸睛,網(wǎng)友:太漂亮了

馬拉松跑步健身
2026-04-19 06:30:13
2020年內(nèi)蒙打黑:公安局長賈凈博一手遮天,私養(yǎng)武裝建立黑金帝國

2020年內(nèi)蒙打黑:公安局長賈凈博一手遮天,私養(yǎng)武裝建立黑金帝國

鑒史錄
2026-04-19 07:27:15
反轉(zhuǎn)來了,中方全面斷供鎢原料,日本作冒險(xiǎn)決定,拒不還中國文物

反轉(zhuǎn)來了,中方全面斷供鎢原料,日本作冒險(xiǎn)決定,拒不還中國文物

風(fēng)信子的花
2026-04-17 12:31:50
姐沒別的就軟乎,不信你摸摸看!

姐沒別的就軟乎,不信你摸摸看!

飛娛日記
2026-04-17 08:25:21
烏克蘭開始收復(fù)失土,即將進(jìn)行大反攻?俄軍為何打不過烏軍?

烏克蘭開始收復(fù)失土,即將進(jìn)行大反攻?俄軍為何打不過烏軍?

余生嫵媚小妖精
2026-03-23 16:48:33
直至陳瑤沖上熱搜,才知為何她人美戲好卻始終不火,吳鎮(zhèn)宇說對了

直至陳瑤沖上熱搜,才知為何她人美戲好卻始終不火,吳鎮(zhèn)宇說對了

劇芒芒
2026-04-17 15:13:34
女人出軌的“第一步”太隱蔽!90%的人都踩坑,看完嚇出一身冷汗

女人出軌的“第一步”太隱蔽!90%的人都踩坑,看完嚇出一身冷汗

荷蘭豆愛健康
2026-04-19 12:52:19
2026-04-19 14:12:49
一起神回復(fù) incentive-icons
一起神回復(fù)
神回復(fù)、高級黑、內(nèi)涵帝
5012文章數(shù) 22815關(guān)注度
往期回顧 全部

科技要聞

50分26秒破人類紀(jì)錄!300臺機(jī)器人狂飆半馬

頭條要聞

牛彈琴:伊朗遭到特朗普"羞辱"被激怒 結(jié)果印度遭了殃

頭條要聞

牛彈琴:伊朗遭到特朗普"羞辱"被激怒 結(jié)果印度遭了殃

體育要聞

湖人1比0火箭:老詹比烏度卡像教練

娛樂要聞

張?zhí)鞇墼u論區(qū)淪陷!被曝卷入小三風(fēng)波

財(cái)經(jīng)要聞

華誼兄弟,8年虧光85億

汽車要聞

29分鐘大定破萬 極氪8X為什么這么多人買?

態(tài)度原創(chuàng)

家居
旅游
手機(jī)
本地
公開課

家居要聞

法式線條 時光靜淌

旅游要聞

錦繡馬山一路繁花,濟(jì)南長清區(qū)馬山鎮(zhèn)第二十九屆傳統(tǒng)文化山會啟幕

手機(jī)要聞

持續(xù)超越iPhone 17 Pro Max,華為暢享90 Pro Max賣爆

本地新聞

12噸巧克力有難,全網(wǎng)化身超級偵探添亂

公開課

李玫瑾:為什么性格比能力更重要?

無障礙瀏覽 進(jìn)入關(guān)懷版