求C语言中float型数据的表示范围
发布网友
发布时间:2022-05-14 00:56
我来回答
共4个回答
热心网友
时间:2023-11-15 20:52
为什么是38次方啊,我也不知道,可以说下吗?我知道了,因为在计算机里面二进制的表示数最大是一位是1而一个十进制3.4也就是二进制的11啊.是不是啊,楼主,你说呢?
float是国际上不建议使用的数据类型 因为国际上的float标准有问题 他实际上是取决于你的编译器
float型数据是按照底数+指数格式存储的,一半来说一个float类型的变量占用32个字节来存储,其中有7~8位保存指数,剩下的24~25位保存底数部分。因此底数部分的最大值就是
2^25 - 1=33554431,3.4就是这么来的
热心网友
时间:2023-11-15 20:52
根据我的计算vc
是使用26位尾数,6位指数
26位尾数中
有一个符号位
也就是最大的数是+/-(2^25-1)*(+/-2^5-1)
也就是+/-33554431e+/-31
也就是+/-3.4e+/-38
热心网友
时间:2023-11-15 20:53
float型数据是按照底数+指数格式存储的,一半来说一个float类型的变量占用32个字节来存储,其中有7~8位保存指数,剩下的24~25位保存底数部分。因此底数部分的最大值就是
2^25 - 1=33554431,3.4就是这么来的
热心网友
时间:2023-11-15 20:53
float
-3.4
×
1038
到
+3.4
×
1038