首页
学习
活动
专区
圈层
工具
发布

float与double的范围和精度

知道了这四部分的占位,按二进制估计大小范围,再换算为十进制,就是你想知道的数值范围。 1、数值范围 float和double的范围是由指数的位数来决定的。...float的指数位有8位,而double的指数位有11位,分布如下: float: 1bit(符号位) 8bits(指数位) 23bits(尾数位) double: 1bit(符号位) 11bits(...指数位) 52bits(尾数位) 于是,float的指数范围为-127~+128,而double的指数范围为-1023~+1024,并且指数位是按补码的形式来划分的。...float的范围为-2^128 ~ +2^128,也即-3.40E+38 ~ +3.40E+38; double的范围为-2^1024 ~ +2^1024,也即-1.79E+308 ~ +1.79E+308...float:2^23 = 8388608,一共七位,这意味着最多能有7位有效数字,但绝对能保证的为6位,也即float的精度为6~7位有效数字; double:2^52 = 4503599627370496

32.3K21
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    史上最全的short、int、long、float、double取值范围

    史上最全的short、int、long、float、double取值范围 一、分析基本数据类型的特点,最大值和最小值。...二进制位数:32 包装类:java.lang.Float 最小值:Float.MIN_VALUE=1.4E-45 (2的-149次方) 最大值:Float.MAX_VALUE=3.4028235E38...float m=123.45566778465651454545f; double n=3.1234567890123456789; 然后打印出来的结果是这样的: 三、总结-----int和Integer...的区别 1.从定义上来看 int 是基本类型,直接存数值(类似的还有float、double、String、char) Integer是对象,用一个引用指向这个对象(类似的有Float、Double...Float;double Double;String 等,其中 String 较为特殊,基本类型和复杂类似关键字相同。

    8.5K10
    领券