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

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

谷歌工程師吐槽:0.1+0.2≠0.3,這bug藏了50年沒人管

0
分享至


「0.1加0.2等于0.30000000000000004?!惯@不是某個實習生寫的爛代碼,是IEEE 754浮點標準(二進制浮點數(shù)算術標準)在JavaScript、Python、Java里跑了半個世紀的"正確"結(jié)果。

一位谷歌工程師最近在技術博客復盤分數(shù)運算時,把這個問題重新拽回開發(fā)者視野。他說得很直接:浮點數(shù)的精度陷阱,本質(zhì)上是我們用十進制的大腦去猜二進制的心思,猜錯了。

1960年代的遺產(chǎn):為什么0.1在電腦里是無限循環(huán)小數(shù)

故事要從1960年代說起。當時計算機科學家面臨一個選擇:用二進制表示小數(shù),還是用十進制?二進制贏了,因為硬件實現(xiàn)更快、更省硅片。

但代價是隱形的。十進制的0.1,換成二進制是0.0001100110011...無限循環(huán)。IEEE 754標準只能存64位,剩下的尾巴被砍掉。單次誤差小到10^-16級別,但疊加幾千次,財務系統(tǒng)里的 penny 就開始莫名其妙消失。

2008年,歐洲航天局阿麗亞娜5號火箭發(fā)射37秒后自毀,2億美元炸成煙花。事后調(diào)查發(fā)現(xiàn),一個64位浮點數(shù)被塞進16位整數(shù),溢出報錯。導航系統(tǒng)判定"出錯了",觸發(fā)自毀程序。這不是分數(shù)運算的鍋,但屬于同一類問題:人類以為"差不多就行",機器較真起來要命。

分數(shù)運算的古老規(guī)則,恰恰能避開這個坑。1/3加1/3加1/3,浮點數(shù)給你0.999999...,分數(shù)直接等于1。沒有近似,沒有累積誤差。

分數(shù)運算的三條鐵律:為什么通分比乘法更燒腦

加減法最折騰。3/7加5/11,你不能直接分子加分子、分母加分母。必須先找公分母,把兩塊不同大小的"披薩切片"切成同樣大小。

最笨的辦法:7乘11得77,分子變成33加35,結(jié)果68/77。但4/6加1/4,分母直接相乘得24,其實最小公倍數(shù)(LCD)是12。用LCD計算,中間數(shù)字更小,溢出風險更低。

乘法反而最簡單。分子乘分子,分母乘分母,3/7乘5/11直接得15/77。除法就是乘以倒數(shù),把第二個分數(shù)上下翻轉(zhuǎn)。


每次運算完必須約分。24/36的最大公約數(shù)(GCD)是12,約成2/3。谷歌工程師在博客里貼了一段歐幾里得算法的JavaScript實現(xiàn),十行代碼,跑了兩千年。

帶分數(shù)是人類的妥協(xié),假分數(shù)是機器的母語。2又3/4寫成11/4,運算時少一層轉(zhuǎn)換。輸出時再換回帶分數(shù),用戶看著舒服。

現(xiàn)代編程語言的分裂:誰還在用分數(shù)算錢

Python有fractions模塊,Java有BigDecimal,C#用decimal類型。這些都不是默認選項,得開發(fā)者主動想起來用。

金融領域早就學乖了。彭博終端、交易所核心系統(tǒng),要么用定點數(shù)(fixed-point),要么直接用整數(shù)存"分"而不是"元"。1.23美元存成123,徹底避開浮點。

但科學計算和圖形渲染不一樣。物理模擬要速度,GPU用FP16、FP32滿天飛。誤差?每幀重新算,上一幀的偏差不累積。游戲畫面抖動一幀,玩家看不出來;銀行賬戶少一分錢,客服電話被打爆。

谷歌工程師的觀察是:分數(shù)運算在"需要精確"和"需要速度"的夾縫里存活。有理數(shù)庫(rational number library)存在,但調(diào)用成本比原生浮點高一個數(shù)量級。大多數(shù)開發(fā)者選擇"先跑起來,精度問題以后再說"——然后永遠沒以后。

一個木工師傅的啟示:為什么手工測量比CAD更準

文章結(jié)尾,作者講了一個場景。木工做柜子,CAD圖紙標了0.3333英尺,師傅直接拿尺子找1/3標記。十進制是給人看的,分數(shù)是給活干的。

編程同理。0.1+0.2的笑話流傳二十年,不是沒人想修,是修的成本比忍的成本更高。IEEE 754已成硬件標準,全世界CPU都認。要改?等于讓所有人換一把尺子。

但分數(shù)運算的知識沒有過時。2023年Stack Overflow調(diào)研顯示,"浮點數(shù)精度問題"仍是開發(fā)者搜索的前50話題之一,年搜索量超47萬次。每個搜這個問題的人,都在重新發(fā)現(xiàn)1960年代那個被砍掉的無限循環(huán)尾巴。

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

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.

相關推薦
熱點推薦
張雪峰醫(yī)療文件疑遭泄露?蘇州衛(wèi)生健康委:已關注到此事并在處理

張雪峰醫(yī)療文件疑遭泄露?蘇州衛(wèi)生健康委:已關注到此事并在處理

極目新聞
2026-03-25 11:50:47
這些聊天記錄是真實事件吧?吃瓜群眾不嫌事大,八卦感拉滿了!

這些聊天記錄是真實事件吧?吃瓜群眾不嫌事大,八卦感拉滿了!

夜深愛雜談
2026-03-25 22:06:41
已刪除!鐘麗緹發(fā)文道歉:在孩子教育問題上有疏忽

已刪除!鐘麗緹發(fā)文道歉:在孩子教育問題上有疏忽

半島晨報
2026-03-24 15:30:03
親身跑完500公里高速,才懂電車和油車差距有多大,選錯車太糟心

親身跑完500公里高速,才懂電車和油車差距有多大,選錯車太糟心

老特有話說
2026-03-24 15:07:23
連蔡依林都在玩,“雪山救狐貍”到底是什么梗?對話視頻原創(chuàng)作者:最初只是為了賣醬板鴨,特意設置反轉(zhuǎn)劇情,沒想到會這么火

連蔡依林都在玩,“雪山救狐貍”到底是什么梗?對話視頻原創(chuàng)作者:最初只是為了賣醬板鴨,特意設置反轉(zhuǎn)劇情,沒想到會這么火

極目新聞
2026-03-25 19:37:57
20分32分42分!上海全員殺瘋,一夜爆3門慘案,3-12名亂成一鍋粥

20分32分42分!上海全員殺瘋,一夜爆3門慘案,3-12名亂成一鍋粥

后仰大風車
2026-03-26 06:05:05
日媒:政府出手后,日本汽油價已降至7.71元/升

日媒:政府出手后,日本汽油價已降至7.71元/升

隨波蕩漾的漂流瓶
2026-03-25 15:39:49
2.4億成全你!詹姆斯降薪2000萬?雙詹合體咋辦!

2.4億成全你!詹姆斯降薪2000萬?雙詹合體咋辦!

柚子說球
2026-03-25 11:44:10
1912年,曹錕娶20歲陳寒蕊,新婚夜他酣睡,新娘見其蒼老悲泣不止

1912年,曹錕娶20歲陳寒蕊,新婚夜他酣睡,新娘見其蒼老悲泣不止

嘮叨說歷史
2026-03-24 18:52:24
欠中國的錢,委內(nèi)瑞拉不還了?美財長:中國已無法繼續(xù)獲得委石油

欠中國的錢,委內(nèi)瑞拉不還了?美財長:中國已無法繼續(xù)獲得委石油

萌城少年強
2026-01-22 12:47:40
取消交強險呼聲高漲!交通部重磅出手,車主集體叫好:太給力

取消交強險呼聲高漲!交通部重磅出手,車主集體叫好:太給力

小怪吃美食
2026-03-24 02:51:39
中國空軍立下規(guī)矩:從今以后,絕不允許有人對我大聲說話!

中國空軍立下規(guī)矩:從今以后,絕不允許有人對我大聲說話!

郭蛹包工頭
2026-03-25 17:06:08
2002年,李玟在拍攝MV時,一眼看中了安志杰,兩人迅速墜入愛河。

2002年,李玟在拍攝MV時,一眼看中了安志杰,兩人迅速墜入愛河。

南權(quán)先生
2026-03-25 15:29:14
警醒!中國該提防巴基斯坦了,他們的小孩,隨口就說“秦腔窮”

警醒!中國該提防巴基斯坦了,他們的小孩,隨口就說“秦腔窮”

原來仙女不講理
2026-03-25 17:54:03
全國統(tǒng)一!煙花爆竹新規(guī)5月1日正式實施,個人燃放只認這兩類

全國統(tǒng)一!煙花爆竹新規(guī)5月1日正式實施,個人燃放只認這兩類

阿柒的訊
2026-03-24 22:54:33
甘蔗干成“柴”無人看管,陌生人發(fā)帖尋“甘蔗哥” 母親:兒子已手術出院

甘蔗干成“柴”無人看管,陌生人發(fā)帖尋“甘蔗哥” 母親:兒子已手術出院

封面新聞
2026-03-25 19:12:04
省下一億鎊!曼聯(lián)自有 “新吉馬良斯”,卡里克手握王炸

省下一億鎊!曼聯(lián)自有 “新吉馬良斯”,卡里克手握王炸

瀾歸序
2026-03-26 04:56:27
短短1年,靈活就業(yè)者暴增4千萬

短短1年,靈活就業(yè)者暴增4千萬

深度報
2026-03-23 21:47:58
張?zhí)鞇厶S滿了!穿掛脖裙兜不住好身材,真讓人心動!

張?zhí)鞇厶S滿了!穿掛脖裙兜不住好身材,真讓人心動!

東方不敗然多多
2026-03-09 06:31:29
《鏢人》再破紀錄,打敗《飛馳人生3》,登頂中國冠軍

《鏢人》再破紀錄,打敗《飛馳人生3》,登頂中國冠軍

影視高原說
2026-03-24 19:32:39
2026-03-26 07:56:49
摸魚算法
摸魚算法
致力于用最前沿的AI技術,換取更多發(fā)呆時間的三十歲青年。
45文章數(shù) 0關注度
往期回顧 全部

科技要聞

紅極一時卻草草收場,Sora宣布正式關停

頭條要聞

伊朗軍方稱擊落美軍F-18戰(zhàn)機 現(xiàn)場畫面披露

頭條要聞

伊朗軍方稱擊落美軍F-18戰(zhàn)機 現(xiàn)場畫面披露

體育要聞

35歲替補門將,憑什么入選英格蘭隊?

娛樂要聞

張雪峰遺產(chǎn)分割復雜!是否立遺囑成關鍵

財經(jīng)要聞

管濤:中東局勢如何影響人民幣匯率走勢?

汽車要聞

智己LS8放大招 30萬內(nèi)8系旗艦+全線控底盤秀實力

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

本地
游戲
手機
數(shù)碼
軍事航空

本地新聞

來永泰同安 赴一場春天的約會

啊?GameStop推叛逃套餐:用PS5換Xbox 倒貼你69刀

手機要聞

realme真我GT8 Pro適配Android 17開發(fā)者預覽版教程說明發(fā)布

數(shù)碼要聞

3999元!蘋果AirPods Max 2耳機開始接受訂購:4月1日發(fā)貨

軍事要聞

伊朗重申非交戰(zhàn)國家船只可安全通過霍爾木茲海峽

無障礙瀏覽 進入關懷版