导航:首页 > 编程语言 > 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范围相关的资料

热点内容
银河v10驱动重编译 浏览:889
电脑上文件夹右击就会崩溃 浏览:689
右美维持算法 浏览:938
php基础编程教程pdf 浏览:219
穿越之命令与征服将军 浏览:351
android广播重复 浏览:832
像阿里云一样的服务器 浏览:318
水冷空调有压缩机吗 浏览:478
访问日本服务器可以做什么 浏览:432
bytejava详解 浏览:448
androidjava7 浏览:384
服务器在山洞里为什么还有油 浏览:885
天天基金app在哪里下载 浏览:974
服务器软路由怎么做 浏览:292
冰箱压缩机出口 浏览:228
OPT最佳页面置换算法 浏览:644
网盘忘记解压码怎么办 浏览:853
文件加密看不到里面的内容 浏览:654
程序员脑子里都想什么 浏览:434
oppp手机信任app在哪里设置 浏览:189