當前位置:首頁 » 編程語言 » javadoublefloat

javadoublefloat

發布時間: 2022-05-20 18:50:24

『壹』 java中double與float

float,double
分別是對float和double的封裝表示的精度和他們是一樣的。
但裡面有很多有用的方法。。比如double.prasedouble()等等。。
bigdecimal也是對數字類型數據的封裝。。但他的精度是任意精度。。
即隨便多長隨便小數點後多少位。。

『貳』 java中double和float的區別

類型 指數長度 尾數長度
float 8 位 23 位
double 11 位 52 位

它們占的位元組數不一樣。float點四位元組,32位,用了23位來表示有效位,轉成十進制數就是六到七位有效位,即最高位非0開始,精度在六位數的可以證它是正確的,第七位數小一點在23位二進制的表示範圍內也能保證正確,超過這七位數的,不保證它正確。

double點八位元組,64bit,用52bit表示尾數,轉成十進制,它的有效位可以達到16位。

『叄』 java中float和double的取值范圍是什麼

float:4位元組(32bit),IEEE 754. 取值范圍:

[-3.40282346638528860e+38 , -1.40129846432481707e-45] ∪ [1.40129846432481707e-45 ~ 3.40282346638528860e+38] 。

double: 8位元組(64bit) ,IEEE 754. 取值范圍:

[-1.79769313486231570e+308,-4.94065645841246544e-324] ∪ [4.94065645841246544e-324,1.79769313486231570e+308] 。

(3)javadoublefloat擴展閱讀

基本數據類型的特點,位數,最大值和最小值。

1、

基本類型:short 二進制位數:16

包裝類:java.lang.Short

最小值:Short.MIN_VALUE=-32768 (-2的15此方)

最大值:Short.MAX_VALUE=32767 (2的15次方-1)

2、

基本類型:int 二進制位數:32

包裝類:java.lang.Integer

最小值:Integer.MIN_VALUE= -2147483648 (-2的31次方)

最大值:Integer.MAX_VALUE= 2147483647 (2的31次方-1)

3、

基本類型:long 二進制位數:64

包裝類:java.lang.Long

最小值:Long.MIN_VALUE=-9223372036854775808 (-2的63次方)

最大值:Long.MAX_VALUE=9223372036854775807 (2的63次方-1)

4、

基本類型:float 二進制位數:32

包裝類:java.lang.Float

最小值:Float.MIN_VALUE=1.4E-45 (2的-149次方)

最大值:Float.MAX_VALUE=3.4028235E38 (2的128次方-1)

5、

基本類型:double 二進制位數:64

包裝類:java.lang.Double

最小值:Double.MIN_VALUE=4.9E-324 (2的-1074次方)

最大值:Double.MAX_VALUE=1.7976931348623157E308 (2的1024次方-1)

『肆』 JAVA中float與double的區別

float表示單精度浮點數在機內佔4個位元組,用32位二進制描述。
double表示雙精度浮點數在機內佔8個位元組,用64位二進制描述。

浮點數在機內用指數型式表示,分解為:數符,尾數,指數符,指數四部分。
數符佔1位二進制,表示數的正負。

『伍』 java float和double的區別

單精度浮點數(float)與雙精度浮點數(double)的區別如下:
(1)在內存中佔有的位元組數不同
單精度浮點數在機內佔4個位元組
雙精度浮點數在機內佔8個位元組
(2)有效數字位數不同
單精度浮點數有效數字8位
雙精度浮點數有效數字16位
(3)所能表示數的范圍不同
單精度浮點的表示範圍:-3.40E+38 ~ +3.40E+38
雙精度浮點的表示範圍:-1.79E+308 ~ +1.79E+308
(4)在程序中處理速度不同一般來說,CPU處理單精度浮點數的速度比處理雙精度浮點數快

『陸』 Java中float和double的取值范圍該怎樣理解

基本類型float佔4個位元組,二進制位數有32位,取值范圍為[-3.40282346638528860e+38 , -1.40129846432481707e-45] ∪ [1.40129846432481707e-45 ~ 3.40282346638528860e+38]。

基本類型double佔8個位元組,二進制位數有64位,取值范圍為[-1.79769313486231570e+308,-4.94065645841246544e-324] ∪ [4.94065645841246544e-324,1.79769313486231570e+308] 。

PS:其中e代表10的多少次方。

IEEE二進制浮點數算術標准(IEEE 754)是20世紀80年代以來最廣泛使用的浮點數運算標准,為許多CPU與浮點運算器所採用。這個標準定義了表示浮點數的格式(包括負零-0)與反常值(denormal number)),一些特殊數值(無窮(Inf)與非數值(NaN)),以及這些數值的「浮點數運算符」;它也指明了四種數值舍入規則和五種例外狀況(包括例外發生的時機與處理方式)。

(6)javadoublefloat擴展閱讀:

Java有兩種浮點數據類型,第一種float使用32 bit表示,對應單精度浮點數,運行速度相比double更快,占內存更小,但是當數值非常大或者非常小的時候會變得不精確。精度要求不高的時候可以使用float類型。double為64位表示,將浮點數賦給某個變數時,如果不字面值後面加f或者F,則默認為double類型。java.lang.Math中的函數都採用double類型。如果double和float都無法達到想要的精度,可以使用BigDecimal類。



『柒』 在java中double型和float常量有什麼區別啊

1.
我感覺你可能更想問的問題是:java中double和float類型有和區別?建議修改問題,把【常量】二字去掉;
2.
這兩種數據類型的主要區別是:double取值范圍和精度比float都要高;
3.
java中,次要區別是二者在變數定義上有些不同,比如:floath
a
=
2.3f;
double
a
=
2.3;float類型值後面有一個f;
4.
在很多環境下(java/C#.....)他們的區別大約都是以上這些。

『捌』 java double和float的區別

1、內存結構
float和double的范圍是由指數的位數來決定的。
float的指數位有8位,而double的指數位有11位,分布如下:
float:
1bit(符號位)
8bits(指數位)
23bits(尾數位)
double:
1bit(符號位)
11bits(指數位)
52bits(尾數位)
於是,float的指數范圍為-128~+127,而double的指數范圍為-1024~+1023,並且指數位是按補碼的形式來劃分的。
其中負指數決定了浮點數所能表達的絕對值最小的非零數;而正指數決定了浮點數所能表達的絕對值最大的數,也即決定了浮點數的取值范圍。
float的范圍為-2^128
~
+2^127,也即-3.40e+38
~
+3.40e+38;double的范圍為-2^1024
~
+2^1023,也即-1.79e+308
~
+1.79e+308。
2.
精度
float和double的精度是由尾數的位數來決定的。浮點數在內存中是按科學計數法來存儲的,其整數部分始終是一個隱含著的「1」,由於它是不變的,故不能對精度造成影響。
float:2^23
=
8388608,一共七位,由於最左為1的一位省略了,這意味著最多能表示8位數:
2*8388608
=
16777216
。有8位有效數字,但絕對能保證的為7位,也即
float的精度為7~8位有效數字
double:2^52
=
4503599627370496,一共16位,同理,
double的精度為16~17位
之所以不能用f1==f2來判斷兩個數相等,是因為雖然f1和f2在可能是兩個不同的數字,但是受到浮點數表示精度的限制,有可能會錯誤的判斷兩個數相等!

『玖』 java中float和double的區別

float表示單精度浮點數在機內佔4個位元組,用32位二進制描述。
double表示雙精度浮點數在機內佔8個位元組,用64位二進制描述。

浮點數在機內用指數型式表示,分解為:數符,尾數,指數符,指數四部分。
數符佔1位二進制,表示數的正負。
指數符佔1位二進制,表示指數的正負。
尾數表示浮點數有效數字,0.xxxxxxx,但不存開頭的0和點
指數存指數的有效數字。

指數佔多少位,尾數佔多少位,由計算機系統決定。
可能是數符加尾數佔24位,指數符加指數佔8位 -- float.
數符加尾數佔48位,指數符加指數佔16位 -- double.

知道了這四部分的佔位,按二進制估計大小范圍,再換算為十進制,就是浮點數的數值范圍。

編程人員來說,double 和 float 的區別是double精度高,有效數字16位,float精度7位。但double消耗內存是float的兩倍,double的運算速度比float慢得多,java語言中數學函數名稱double 和 float不同,不要寫錯,能用單精度時不要用雙精度(以省內存,加快運算速度)。

『拾』 java 中float 和double有什麼區別,對於賦值來說,求解。謝謝!

  1. float為單精度浮點類型,佔4個位元組,能表示的數范圍小;double為雙精度浮點類型,佔8個位元組,能表示的數范圍大。

  2. 對於賦值來說,因為聲明浮點數時默認為double類型,所以float需要在數的的後面添加f/F;

    例:

    float a=1.2 //錯誤

    float a=1.2f //正確

    float a=1.2F //正確

    double b=1.2 //正確

    double b=1.2d //正確

    double b=1.2D //正確

熱點內容
sql除法運算 發布:2025-02-14 06:30:43 瀏覽:534
如何在家部署一台伺服器 發布:2025-02-14 06:22:04 瀏覽:433
u盤里文件夾是空的 發布:2025-02-14 06:13:22 瀏覽:803
安卓如何縮放圖片尺寸 發布:2025-02-14 06:06:34 瀏覽:116
六年級簡便演算法題 發布:2025-02-14 05:53:02 瀏覽:8
腳本精靈要root嗎 發布:2025-02-14 05:51:30 瀏覽:212
安卓手機如何錄屏怎麼去掉觸摸顯示 發布:2025-02-14 05:36:23 瀏覽:996
安卓系統新品推薦怎麼關 發布:2025-02-14 05:35:44 瀏覽:888
虛擬存儲器的基礎是 發布:2025-02-14 05:32:24 瀏覽:516
androidstudio出錯 發布:2025-02-14 05:32:14 瀏覽:305