最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

java為什么會出現(xiàn)精度丟失這種現(xiàn)象你知道嗎

 更新時間:2021年08月31日 11:34:56   作者:扛麻袋的少年  
這篇文章主要介紹了Java精度丟失的問題,幫助大家更好的理解和使用Java,感興趣的朋友可以了解下,希望能夠給你帶來幫助

很多人都知道:浮點(diǎn)數(shù)值不適用于無法接受舍入誤差的金融計算中,即:我們常說的丟失精度問題。

這是為什么呢?

很多人還知道這樣一句話:這種舍入誤差的主要原因是浮點(diǎn)數(shù)值采用二進(jìn)制系統(tǒng)表示, 而在二進(jìn)制系統(tǒng)中無法精確地表示分?jǐn)?shù) 1/10。這就好像十進(jìn)制無法精確地表示分?jǐn)?shù) 1/3—樣。

針對十進(jìn)制,1除以3是除不盡的。很好理解,因?yàn)槲覀円恢苯佑|的就是十進(jìn)制,等于0.333333… 很好理解

但是:二進(jìn)制系統(tǒng)中無法精確地表示分?jǐn)?shù) 1/10。為啥呢。就有點(diǎn)不理解了

《Java核心技術(shù)卷》書上也是這么寫的。

在這里插入圖片描述

接下來我們就深究一下為什么?。?! 

重點(diǎn)這句話:這種舍入誤差的主要原因是浮點(diǎn)數(shù)值采用二進(jìn)制系統(tǒng)表示。就是說我們在代碼中編寫的 System.out.println(4.0 - 3.6); 這樣一段代碼, 

計算過程:

①將十進(jìn)制的 4.0 轉(zhuǎn)換成 二進(jìn)制,將十進(jìn)制的 3.6 轉(zhuǎn)換成二進(jìn)制;

②使用轉(zhuǎn)換后的二進(jìn)制,進(jìn)行減法運(yùn)算 

3.6 轉(zhuǎn)換成二進(jìn)制,就類似于 1除以3一樣,是除不盡。所以 System.out.println(4.0 - 3.6); 就會輸出 0.3999999999999999

備注:

十進(jìn)制的 3.6 轉(zhuǎn)換成二進(jìn)制為:11.100110011001…(一直循環(huán)除不盡),就類似于 1/3 是 0.33333333333…除不盡。所以System.out.println(4.0 - 3.6); 就會輸出 0.3999999999999999

十進(jìn)制的 3.6 轉(zhuǎn)換成二進(jìn)制為:11.100110011001…

轉(zhuǎn)換過程參考下文⬇⬇⬇ 【4.(小數(shù))十進(jìn)制轉(zhuǎn)二進(jìn)制(除不盡)】

此處涉及到進(jìn)制轉(zhuǎn)換,參考下文:

涉及到:

1.二進(jìn)制 轉(zhuǎn) 十進(jìn)制
2.十進(jìn)制 轉(zhuǎn) 二進(jìn)制
3.(小數(shù))十進(jìn)制 轉(zhuǎn) 二進(jìn)制

接下來,舉幾個二進(jìn)制和十進(jìn)制之間轉(zhuǎn)換的例子 。你就知道為什么【除不盡】了

1.二進(jìn)制轉(zhuǎn)十進(jìn)制

二進(jìn)制轉(zhuǎn)十進(jìn)制

2.(整數(shù))十進(jìn)制轉(zhuǎn)二進(jìn)制

十進(jìn)制轉(zhuǎn)二進(jìn)制

3.(小數(shù))十進(jìn)制轉(zhuǎn)二進(jìn)制(可除盡)

請?zhí)砑訄D片描述

4.(小數(shù))十進(jìn)制轉(zhuǎn)二進(jìn)制(除不盡)

請?zhí)砑訄D片描述

總結(jié):  

因?yàn)?3.6 轉(zhuǎn)成二進(jìn)制為 11.10011001....,除不盡的

所以 System.out.println(4.0 - 3.6); 就會輸出 0.3999999999999999

本片文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!

相關(guān)文章

  • idea導(dǎo)入jar包的詳細(xì)圖文教程

    idea導(dǎo)入jar包的詳細(xì)圖文教程

    這篇文章主要給大家介紹了關(guān)于idea導(dǎo)入jar包的詳細(xì)圖文教程,文中通過圖文將導(dǎo)入的步驟介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2023-03-03
  • Springboot插件開發(fā)實(shí)戰(zhàn)分享

    Springboot插件開發(fā)實(shí)戰(zhàn)分享

    這篇文章主要介紹了Springboot插件開發(fā)實(shí)戰(zhàn)分享,文章通過新建aop切面執(zhí)行類MonitorLogInterceptor展開詳細(xì)的相關(guān)內(nèi)容,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-05-05
  • 詳解SpringMVC常用注解功能及屬性

    詳解SpringMVC常用注解功能及屬性

    這篇文章主要介紹了詳解SpringMVC注解功能及屬性,文中通過詳細(xì)的示例代碼作了簡要的分析,有需要的朋友可以借鑒參考下,希望可以有所幫助
    2021-09-09
  • 簡單了解JAVA SimpleDateFormat yyyy和YYYY的區(qū)別

    簡單了解JAVA SimpleDateFormat yyyy和YYYY的區(qū)別

    這篇文章主要介紹了簡單了解JAVA SimpleDateFormat yyyy和YYYY的區(qū)別,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-03-03
  • SpringBoot之配置logging日志及在控制臺中輸出過程

    SpringBoot之配置logging日志及在控制臺中輸出過程

    這篇文章主要介紹了SpringBoot之配置logging日志及在控制臺中輸出過程,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-06-06
  • mybatis中返回主鍵一直為1的問題

    mybatis中返回主鍵一直為1的問題

    這篇文章主要介紹了mybatis中返回主鍵一直為1的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • Java使用協(xié)同過濾算法的代碼示例

    Java使用協(xié)同過濾算法的代碼示例

    在Java中實(shí)現(xiàn)協(xié)同過濾算法通常需要一些步驟,包括加載用戶-項(xiàng)目評分?jǐn)?shù)據(jù)、計算相似度、生成推薦等,以下是一個簡化的基于用戶的協(xié)同過濾算法的代碼示例,感興趣的小伙伴跟著小編一起來看看吧
    2024-06-06
  • Java CompletableFuture 異步超時實(shí)現(xiàn)深入研究

    Java CompletableFuture 異步超時實(shí)現(xiàn)深入研究

    這篇文章主要為大家介紹了Java CompletableFuture 異步超時實(shí)現(xiàn)深入研究,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-02-02
  • MyBatis配置文件的寫法和簡單使用

    MyBatis配置文件的寫法和簡單使用

    MyBatis 是支持定制化 SQL、存儲過程以及高級映射的優(yōu)秀的持久層框架。這篇文章主要介紹了MyBatis配置文件的寫法和簡單使用,需要的朋友參考下
    2017-01-01
  • Java?Mybatis查詢數(shù)據(jù)庫舉例詳解

    Java?Mybatis查詢數(shù)據(jù)庫舉例詳解

    這篇文章主要給大家介紹了關(guān)于Java?Mybatis查詢數(shù)據(jù)庫的相關(guān)資料,在MyBatis中可以使用遞歸查詢實(shí)現(xiàn)對數(shù)據(jù)庫中樹形結(jié)構(gòu)數(shù)據(jù)的查詢,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-10-10

最新評論

涿鹿县| 谷城县| 河池市| 定安县| 昭苏县| 眉山市| 应城市| 阳谷县| 洪洞县| 舒兰市| 叶城县| 册亨县| 汶上县| 阿荣旗| 大关县| 安岳县| 汉寿县| 新巴尔虎右旗| 宣武区| 吴旗县| 乐山市| 延寿县| 佛教| 安龙县| 鄂州市| 汉中市| 宁河县| 池州市| 布尔津县| 和平区| 林州市| 会东县| 且末县| 互助| 新余市| 大邑县| 麻阳| 桓台县| 长武县| 托克逊县| 福州市|