java 中float的取值范围

Python020

java 中float的取值范围,第1张

错了,Java中float位数为32。第一位表示符号,2-9位表示指数范围,10-32表示精度。也就是说float最大支持的2的23次方,由于整数部分隐藏了一位,所以可以乘以2。其中2的23次方为8388608,加上隐藏的那一位是2*8388608,所以float范围最大能保证8位数,能准确保证的是7位数。double精度是52位,原理同样,能保证16-17位数的精确。所以有时候虽然数字在float范围内,却超出了精度,故float不能比较大小。

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、

基本类型: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官网-Java教程

float最大:3.4028235E38,即Float.MAX_VALUE

float最小:1.4E-45,即Float.MIN_VALUE

double最大:1.7976931348623157E308,即Double.MAX_VALUE

double最小:4.9E-324,即Double.MIN_VALUE