導航:首頁 > 編程語言 > javadouble范圍

javadouble范圍

發布時間:2022-11-16 04:02:58

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] 。

(1)javadouble范圍擴展閱讀

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

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 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中double的取值范圍為1.79E308。E308是什麼意思

此說法正確:
這個是科學計數法,E308表示10的308次方.
1.79E308也就是1.79乘以10的308次方
關於位存儲:
比如1位,只能表示0和1,所以1位最大值1
比如2位,0到3,所以最大值3.
關於long:
long共64位其中1位是符號位正負,剩餘63位,
表示最大數 2^63-1 =9223372036854775807
long用途:
十進制就有19位,如果你的訂單低於19位就能使用long來存儲。
問題:
double為什麼表示的整數比long大,都是64位啊
原來double,把64位劃分了幾個 部分,
1、有符號位,指數位,尾數位,通過降低精確度存儲更大的數字。
2、尾數52位存儲具體數字,指數11位和小數點位置有關,符號位1位代表正負
3、如果整數,你的數超過2^52,double就不精確了,開始舍棄精度
4、如果小數,小數點後邊的數超過2^52,double就不精確了,開始舍棄精度
double的應用:
只是提供了小數支持,小數精確到16位左右。也能存儲整數。
但是整數精確只能表示2^52以內的數,超過就不精確了。
所以19位以內的整數可以用long,16以內的小數和整數用double

Ⅳ Java語言中的浮點型數據的float和double的單精度和雙精度到底是啥意思

主要有下面幾個區別,手冊上的,希望能幫到你
1、變數類型不同
float屬於單精度型浮點數據。
double屬於雙精度型浮點數據。
2、指數范圍不同
float的指數范圍為-127~128。
double而double的指數范圍為-1023~1024
3、表達式指數位不同
float的表達式為1bit(符號位)+8bits(指數位)+23bits(尾數位)
double的表達式為1bit(符號位)+ 11bits(指數位)+ 52bits(尾數位)
4、佔用內存空間不同
float佔4個位元組(32位)內存空間,其數值范圍為3.4E-38~3.4E+38。
double佔8 個位元組(64位)內存空間,其數值范圍為1.7E-308~1.7E+308。
5、有效位數不同
float只能提供七位有效數字。
double可提供16位有效數字。

Ⅳ 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)),以及這些數值的「浮點數運算符」;它也指明了四種數值舍入規則和五種例外狀況(包括例外發生的時機與處理方式)。

(5)javadouble范圍擴展閱讀:

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



Ⅵ java 中byte.short,int,long,float,double 的取值范圍分別是多少

其中byte、short、int、long都是表示整數的,只不過他們的取值范圍不一樣
byte的取值范圍為-128~127,佔用1個位元組(-2的7次方到2的7次方-1)
short的取值范圍為-32768~32767,佔用2個位元組(-2的15次方到2的15次方-1)
int的取值范圍為(-2147483648~2147483647),佔用4個位元組(-2的31次方到2的31次方-1)
long的取值范圍為(-9223372036854774808~9223372036854774807),佔用8個位元組(-2的63次方到2的63次方-1)
float和double是表示浮點型的數據類型,他們之間的區別在於他們的精確度不同

float 3.402823e+38 ~ 1.401298e-45(e+38表示是乘以10的38次方,同樣,e-45表示乘以10的負45次方)佔用4個位元組

double 1.797693e+308~ 4.9000000e-324 佔用8個位元組

double型比float型存儲范圍更大,精度更高,所以通常的浮點型的數據在不聲明的情況下都是double型的,如果要表示一個數據是float型的,可以在數據後面加上「F」。

浮點型的數據是不能完全精確的,所以有的時候在計算的時候可能會在小數點最後幾位出現浮動,這是正常的。

Ⅶ 在Java語言中 long和double的范圍

long的取值范圍是2的63次方-1到負的2的63次方。
double的取值范圍比較復雜建議去看標准化協議,即使是雙精度的double在精確計算上誤差也比較大建議使用bigdecimal

Ⅷ java中double創建的是什麼

創建的是雙精度浮點型數據,佔用64bit,
double型的范圍:4.9×10-324至1.8×10308。
在對float數據進行賦值時,要在數字的後面添加f(或F),否則java編譯器會認為1.3是一個double類型的數值。而double不能直接賦值給float類型

Ⅸ java double 小數有幾位

double的范圍為-2^1024 ~ +2^1023,也就是-1.79E+308 ~ +1.79E+308。

Ⅹ float和 double類型在java各是多少位啊

Java中的float是32位的,double是64位的。
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。

閱讀全文

與javadouble范圍相關的資料

熱點內容
冰箱壓縮機出口 瀏覽:223
OPT最佳頁面置換演算法 瀏覽:640
網盤忘記解壓碼怎麼辦 瀏覽:852
文件加密看不到裡面的內容 瀏覽:651
程序員腦子里都想什麼 瀏覽:430
oppp手機信任app在哪裡設置 瀏覽:185
java地址重定向 瀏覽:268
一年級下冊摘蘋果的演算法是怎樣的 瀏覽:448
程序員出軌電視劇 瀏覽:88
伺服器系統地址怎麼查 瀏覽:54
解壓游戲發行官 瀏覽:601
國外小伙解壓實驗 瀏覽:336
頂級大學開設加密貨幣 瀏覽:437
java重載與多態 瀏覽:528
騰訊應屆程序員 瀏覽:942
一鍵編譯程序 瀏覽:129
語音加密包哪個好 瀏覽:341
有什麼學習高中語文的app 瀏覽:283
安卓手機的表格里怎麼打勾 瀏覽:411
阿里雲伺服器有網路安全服務嗎 瀏覽:970