摘要:隨便逛了一下知乎和思否的博文,大都沒回答到點(diǎn)上。當(dāng)比較和時(shí),實(shí)際比較的是轉(zhuǎn)成進(jìn)制,看上去是結(jié)果很明顯啦參考資料
隨便逛了一下知乎和思否的博文,大都沒回答到點(diǎn)上。
I.浮點(diǎn)數(shù)的二進(jìn)制存儲(chǔ)采用 IEEE 754 規(guī)范來(lái)存儲(chǔ)浮點(diǎn)數(shù):
1位【正負(fù)符號(hào)】+11位【指數(shù)】+52位【有效數(shù)字】,如下圖
由于0.1.toString(2)=0.0001100110011001100110011001100110011001100110011001101
所以
0.1 = 2^-4 * [1].1001100110011001100110011001100110011001100110011010
0.2 = 2^-3 * [1].1001100110011001100110011001100110011001100110011010
鐵律是52位有效數(shù)字,也就是:
0.1 = 2^-3 * 0.1100110011001100110011001100110011001100110011001101(0) 0.2 = 2^-3 * 1.1001100110011001100110011001100110011001100110011010 sum = 2^-2 * 1.0011001100110011001100110011001100110011001100110011(1)
由于有效數(shù)字變成了53位,根據(jù)IEEE754 rounding mode 的 Round to Nearest,若x在a和b之間,選擇最低有效位為零的值。
a = 2^-2 * 1.0011001100110011001100110011001100110011001100110011 x = 2^-2 * 1.0011001100110011001100110011001100110011001100110011(1) b = 2^-2 * 1.0011001100110011001100110011001100110011001100110100
當(dāng)比較0.1+0.2 和 0.3時(shí),實(shí)際比較的是
0.1 + 0.2 => 0:01111111101:0011001100110011001100110011001100110011001100110[100] 0.3 => 0:01111111101:0011001100110011001100110011001100110011001100110[011]
轉(zhuǎn)成10進(jìn)制,看上去是:
0.1 + 0.2 => 0.300000000000000044408920985006... 0.3 => 0.299999999999999988897769753748...
結(jié)果很明顯啦
參考資料:
https://stackoverflow.com/que...
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/102151.html
摘要:使用構(gòu)造函數(shù)創(chuàng)建對(duì)象后,新對(duì)象與構(gòu)造函數(shù)沒有關(guān)系了,新對(duì)象的屬性指向的是構(gòu)造函數(shù)的原型對(duì)象。構(gòu)造繼承使用父類的構(gòu)造函數(shù)來(lái)增強(qiáng)子類的實(shí)例,等于是在子類的構(gòu)造函數(shù)內(nèi)部執(zhí)行。 一.js原始類型: 在js中,存在著6種原始值: * boolean * number * string * undefined * null * symbol 注意: 雖然typeof null輸出的是o...
摘要:吐槽一句,大二的專業(yè)課數(shù)字邏輯電路終于用在工作上了。,整數(shù)位為,且精度只到十分位,因此是。如果是不限精度的話,轉(zhuǎn)換后的二進(jìn)制數(shù)應(yīng)該是無(wú)限循環(huán)。再看一下百科給出的標(biāo)準(zhǔn)因此,的類型,最高的位是符號(hào)位,接著的位是指數(shù),剩下的位為有效數(shù)字。 showImg(https://segmentfault.com/img/remote/1460000011902479?w=600&h=600); 用一...
摘要:寫在前面可能你會(huì)不相信,我是從玩中過(guò)來(lái)的,我覺得有必要記錄一下,這個(gè)坑還非踩不可為了說(shuō)的清楚一點(diǎn)兒,我多鋪墊一點(diǎn)兒,先說(shuō)說(shuō)數(shù)組維度的理解引子老鐵們猜一猜長(zhǎng)啥樣我猜你還沒到點(diǎn)我到底想說(shuō)啥,還是一頭霧水,對(duì)吧哈哈別揍我,關(guān)子賣的挺大,我到底想說(shuō) 寫在前面 可能你會(huì)不相信,我是從玩pytorch中過(guò)來(lái)的,我覺得有必要記錄一下,transpose這個(gè)坑還非踩不可,為了說(shuō)的清楚一點(diǎn)兒,我多鋪墊一...
摘要:原文出處設(shè)計(jì)的一個(gè)重要目標(biāo)是設(shè)置階段的持續(xù)時(shí)長(zhǎng)和頻率,因?yàn)槔占骺深A(yù)測(cè),可配置。收集器盡自己最大努力高概率實(shí)現(xiàn)目標(biāo)但不是必然,它會(huì)是硬實(shí)時(shí)。因此名稱是收集器。運(yùn)行不同使用獨(dú)立的收集器。 原文出處:G1 – Garbage First G1設(shè)計(jì)的一個(gè)重要目標(biāo)是設(shè)置stop-the-world階段的持續(xù)時(shí)長(zhǎng)和頻率,因?yàn)槔占骺深A(yù)測(cè),可配置。事實(shí)上,G1是一款軟實(shí)時(shí)的收集器,意味著你...
閱讀 3185·2021-11-22 13:54
閱讀 895·2021-11-04 16:08
閱讀 5467·2021-10-11 11:09
閱讀 3668·2021-09-22 16:05
閱讀 1073·2019-08-30 15:54
閱讀 447·2019-08-30 15:44
閱讀 669·2019-08-30 14:05
閱讀 1091·2019-08-30 12:46