java中的float数据类型,(4个字节,占32位),为什么float型变量的取值范围是10^(-38)~10^38, 究竟是怎么算出来的,
哦,可是1.7*10^38 不能等于 10^38吧
追答浮点数在不同的数量级上,每1bit表达精度不一样,所以用“取值范围”,
比如,如果在10的38次方这个级别,1bit上的变动可能表示兆兆以上,不可能精确表示1、10、100这种较小的数字。所以只能算“范围”
再说,对天文集的大数和小数,一般都用数量级描述。
不然给你个精确的数字你会记不住
最大值,340282346638528860000000000000000000000 接近1.7*2*10的38次方
最小值,0.000000000000000000000000000000000000000000001401298464324817
o ,有道理