亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

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

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

這是為什么呢?

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

針對十進制,1除以3是除不盡的。很好理解,因為我們一直接觸的就是十進制,等于0.333333… 很好理解

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

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

在這里插入圖片描述

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

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

計算過程:

①將十進制的 4.0 轉換成 二進制,將十進制的 3.6 轉換成二進制;

②使用轉換后的二進制,進行減法運算 

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

備注:

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

十進制的 3.6 轉換成二進制為:11.100110011001…

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

此處涉及到進制轉換,參考下文:

涉及到:

1.二進制 轉 十進制
2.十進制 轉 二進制
3.(小數(shù))十進制 轉 二進制

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

1.二進制轉十進制

二進制轉十進制

2.(整數(shù))十進制轉二進制

十進制轉二進制

3.(小數(shù))十進制轉二進制(可除盡)

請?zhí)砑訄D片描述

4.(小數(shù))十進制轉二進制(除不盡)

請?zhí)砑訄D片描述

總結:  

因為 3.6 轉成二進制為 11.10011001....,除不盡的

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

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

相關文章

  • Spring MVC 與 CORS跨域的詳細介紹

    Spring MVC 與 CORS跨域的詳細介紹

    本文介紹了 CORS 的知識以及如何在 Spring MVC 中配置 CORS,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-05-05
  • java實現(xiàn)的MD5摘要算法完整實例

    java實現(xiàn)的MD5摘要算法完整實例

    這篇文章主要介紹了java實現(xiàn)的MD5摘要算法,結合完整實例形式分析了java實現(xiàn)md5單項加密的具體步驟與相關操作技巧,需要的朋友可以參考下
    2017-01-01
  • 詳解Spring注解 @Configuration

    詳解Spring注解 @Configuration

    @Configuration 是 Spring 中的一個注解,它用于標記一個類為配置類,通過配置類可以定義和組裝 Spring Bean,并且支持高度靈活的配置方式。本問詳細介紹了Spring注解 @Configuration,感興趣的小伙伴可以參考一下
    2023-04-04
  • Java實現(xiàn)定時備份文件

    Java實現(xiàn)定時備份文件

    這篇文章主要為大家詳細介紹了Java實現(xiàn)定時備份文件,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • Java split()方法中的特殊符號舉例詳解

    Java split()方法中的特殊符號舉例詳解

    Java中的split方法可以將一個字符串按照指定的分隔符進行分割,返回一個字符串數(shù)組,這篇文章主要給大家介紹了關于Java split()方法中的特殊符號的相關資料,需要的朋友可以參考下
    2023-07-07
  • SpringBoot接入支付寶支付的方法步驟

    SpringBoot接入支付寶支付的方法步驟

    這篇文章主要介紹了SpringBoot接入支付寶支付的方法步驟,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-12-12
  • Java泛型詳解

    Java泛型詳解

    本文給大家匯總介紹了下java中的泛型的相關資料,包括引入泛型機制的原因,泛型類,泛型方法,泛型的實現(xiàn)以及泛型的注意事項,非常的詳細,有需要的小伙伴可以參考下
    2016-03-03
  • Spring Boot實戰(zhàn)之數(shù)據庫操作的示例代碼

    Spring Boot實戰(zhàn)之數(shù)據庫操作的示例代碼

    本篇文章主要介紹了Spring Boot實戰(zhàn)之數(shù)據庫操作的示例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-01-01
  • 命令行使用支持斷點續(xù)傳的java多線程下載器

    命令行使用支持斷點續(xù)傳的java多線程下載器

    java命令行下載器,支持斷點續(xù)傳下載,多線程下載,需要的朋友可以參考下
    2014-02-02
  • Java日常練習題,每天進步一點點(64)

    Java日常練習題,每天進步一點點(64)

    下面小編就為大家?guī)硪黄狫ava基礎的幾道練習題(分享)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧,希望可以幫到你
    2021-09-09

最新評論