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, 究竟是怎么算出来的, 展开
 我来答
百度网友9308069
推荐于2016-12-04 · TA获得超过1万个赞
知道大有可为答主
回答量:3947
采纳率:89%
帮助的人:1759万
展开全部
单精度浮点32位,其中指数段有8bits,指数范围为[-127,127]
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
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式