java中float和double的取值范围是什么?

来源:百度知道 编辑:UC知道 时间:2024/05/17 15:24:30
java中基本类型float和long所占的空间是固定的,float是32bit,double是64bit。书上写的最大值和最小值都是IEEE754,请问这是什么意思?它有没有一个取值范围,如果有,具体是多少到多少?

1、float:4字节(32bit),IEEE 754。取值范围:

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

2、double: 8字节(64bit) ,IEEE 754。取值范围:

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

扩展资料:

float和double的范围精度

float和double的精度是由尾数的位数来决定的。浮点数在内存中是按科学计数法来存储的,其整数部分始终是一个隐含着的“1”,由于它是不变的,故不能对精度造成影响。

float:2^2