萧山 g20:在C语言中float数据数值范围是多少?

来源:百度文库 编辑:查人人中国名人网 时间:2024/04/27 21:35:21

是-3.4*10^38到3.4*10^38
两个答案说3.4E-38 ~3.4E+38,岂不是负数和0都不能表示了?3.4E-38是大于0的啊。

C语言中,float 为单精度浮点数,占4字节,其数值范围为3.4E-38 ~3.4E+38或者-(3.4E-38 ~3.4E+38)
float的指数位有8位,尾数位有23位,符号位1位。
于是,float的指数范围为-127~+128,按补码的形式来划分。
其中负指数决定了浮点数所能表达的绝对值最小的非零数;而正指数决定了浮点数所能表达的绝对值最大的数,也即决定了浮点数的取值范围。
所以,float的范围为-2^128 ~ +2^128,也即-3.40E+38 ~ +3.40E+38

3.4*10的-38次幂 ---3.4*10的38次幂!!