日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

基本数据类型float和double的区别

發布時間:2025/3/15 编程问答 11 豆豆
生活随笔 收集整理的這篇文章主要介紹了 基本数据类型float和double的区别 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

float : 單精度浮點數

double : 雙精度浮點數

兩者的主要區別如下:

  01.在內存中占有的字節數不同

    單精度浮點數在機內存占4個字節

    雙精度浮點數在機內存占8個字節

  02.有效數字位數不同

    單精度浮點數有效數字8位

    雙精度浮點數有效數字16位

  03.數值取值范圍

    單精度浮點數的表示范圍:-3.40E+38~3.40E+38

    雙精度浮點數的表示范圍:-1.79E+308~-1.79E+308

  04.在程序中處理速度不同

    一般來說,CPU處理單精度浮點數的速度比處理雙精度浮點數快

如果不聲明,默認小數為double類型,所以如果要用float的話,必須進行強轉

  例如:float? a=1.3; 會編譯報錯,正確的寫法 float a = (float)1.3;或者float a = 1.3f;(f或F都可以不區分大小寫)

注意:float是8位有效數字,第7位數字將會四舍五入

面試題:

  1.java中3*0.1==0.3將會返回什么?true還是false?

   fale,因為浮點數不能完全精確的表示出來,一般會損失精度。

  2.java中float f = 3.4;是否正確?

  ?? 不正確,3.4是雙精度數,將雙精度型(double)賦值給浮點型(float)屬于向下轉型會造  成精度損失,因此需要強制類型轉換float f = (float)3.4;或者寫成 float f = 3.4f;才可以。

public static void main(String[] args) {System.out.println(3*0.1);System.out.println(3*0.1==0.3);
    //float是8位有效數字,第7位數字將會四舍五入
float a =1.32344435f;System.out.println(a);}

輸出結果:

?

轉載于:https://www.cnblogs.com/liutianci/p/8443372.html

總結

以上是生活随笔為你收集整理的基本数据类型float和double的区别的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。