Java 中 float ,double的取值范围和max,min打印的值不一致

在Java书中,float的取值范围为:-3.4E38---3.4E38 , double 的取值范围为: -1.7E308---1.7E308。但是用 Float.Min_value的值为 1.4E-45,Double.Min_value的值为4.9E-324,为什么呀,请求高人指点

Float.Min_value Double.Min_value 是可表示的最小正非零值的常量追问

但是,小数位数也不定呀,范围中是38位和308位,但是,min的值是 -45位和-324位,多出了那么多位,float和double的小数位数,最多可以是多少位呀

追答

所谓浮点数就是位数不固定
详细看一下关于浮点数的概念你就知道了
是有精度限制的
double比float标识的精度大,所以位数多。

范围中的38是表示最值的时候就,是-3.4E38 , 最大精度时候是表示到E-234,不是一个数。

温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答