java中的float数据类型,(4个字节,占32位),为什么float型变量的取值范围是10^(-38)~10^38,
java中的float数据类型,(4个字节,占32位),为什么float型变量的取值范围是10^(-38)~10^38,究竟是怎么算出来的,...
java中的float数据类型,(4个字节,占32位),为什么float型变量的取值范围是10^(-38)~10^38, 究竟是怎么算出来的,
展开
展开全部
单精度浮点32位,其中指数段有8bits,指数范围为[-127,127]
2的127次方约等于1.7*10的38次方。
38次方是数量级,所以得出命题结论。
2的127次方约等于1.7*10的38次方。
38次方是数量级,所以得出命题结论。
更多追问追答
追问
哦,可是1.7*10^38 不能等于 10^38吧
追答
浮点数在不同的数量级上,每1bit表达精度不一样,所以用“取值范围”,
比如,如果在10的38次方这个级别,1bit上的变动可能表示兆兆以上,不可能精确表示1、10、100这种较小的数字。所以只能算“范围”
再说,对天文集的大数和小数,一般都用数量级描述。
不然给你个精确的数字你会记不住
最大值,340282346638528860000000000000000000000 接近1.7*2*10的38次方
最小值,0.000000000000000000000000000000000000000000001401298464324817
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询