国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

FE.ES-終結0.1+0.2,答到點上的那種

qylost / 762人閱讀

摘要:隨便逛了一下知乎和思否的博文,大都沒回答到點上。當比較和時,實際比較的是轉成進制,看上去是結果很明顯啦參考資料

隨便逛了一下知乎和思否的博文,大都沒回答到點上。

I.浮點數的二進制存儲

采用 IEEE 754 規范來存儲浮點數:
1位【正負符號】+11位【指數】+52位【有效數字】,如下圖

由于0.1.toString(2)=0.0001100110011001100110011001100110011001100110011001101
所以
0.1 = 2^-4 * [1].1001100110011001100110011001100110011001100110011010
0.2 = 2^-3 * [1].1001100110011001100110011001100110011001100110011010

II. 到底怎么相加

鐵律是52位有效數字,也就是:

0.1 = 2^-3 *  0.1100110011001100110011001100110011001100110011001101(0)
0.2 = 2^-3 *  1.1001100110011001100110011001100110011001100110011010
sum = 2^-2 * 1.0011001100110011001100110011001100110011001100110011(1)

由于有效數字變成了53位,根據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

當比較0.1+0.2 和 0.3時,實際比較的是

0.1 + 0.2 => 0:01111111101:0011001100110011001100110011001100110011001100110[100]
0.3       => 0:01111111101:0011001100110011001100110011001100110011001100110[011]

轉成10進制,看上去是:

0.1 + 0.2 => 0.300000000000000044408920985006...
0.3       => 0.299999999999999988897769753748...

結果很明顯啦

參考資料:
https://stackoverflow.com/que...

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/102151.html

相關文章

  • 2019面試筆記

    摘要:使用構造函數創建對象后,新對象與構造函數沒有關系了,新對象的屬性指向的是構造函數的原型對象。構造繼承使用父類的構造函數來增強子類的實例,等于是在子類的構造函數內部執行。 一.js原始類型: 在js中,存在著6種原始值: * boolean * number * string * undefined * null * symbol 注意: 雖然typeof null輸出的是o...

    nidaye 評論0 收藏0
  • 深度剖析0.1 +0.2===0.30000000000000004的原因

    摘要:吐槽一句,大二的專業課數字邏輯電路終于用在工作上了。,整數位為,且精度只到十分位,因此是。如果是不限精度的話,轉換后的二進制數應該是無限循環。再看一下百科給出的標準因此,的類型,最高的位是符號位,接著的位是指數,剩下的位為有效數字。 showImg(https://segmentfault.com/img/remote/1460000011902479?w=600&h=600); 用一...

    haobowd 評論0 收藏0
  • numpy數組維度理解終結

    摘要:寫在前面可能你會不相信,我是從玩中過來的,我覺得有必要記錄一下,這個坑還非踩不可為了說的清楚一點兒,我多鋪墊一點兒,先說說數組維度的理解引子老鐵們猜一猜長啥樣我猜你還沒到點我到底想說啥,還是一頭霧水,對吧哈哈別揍我,關子賣的挺大,我到底想說 寫在前面 可能你會不相信,我是從玩pytorch中過來的,我覺得有必要記錄一下,transpose這個坑還非踩不可,為了說的清楚一點兒,我多鋪墊一...

    LeexMuller 評論0 收藏0
  • 譯文-G1收集器

    摘要:原文出處設計的一個重要目標是設置階段的持續時長和頻率,因為垃圾收集器可預測,可配置。收集器盡自己最大努力高概率實現目標但不是必然,它會是硬實時。因此名稱是收集器。運行不同使用獨立的收集器。 原文出處:G1 – Garbage First G1設計的一個重要目標是設置stop-the-world階段的持續時長和頻率,因為垃圾收集器可預測,可配置。事實上,G1是一款軟實時的收集器,意味著你...

    missonce 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<