在C语言中float数据数值范围是多少?
发布网友
发布时间:2022-04-29 03:20
我来回答
共3个回答
热心网友
时间:2023-10-09 02:32
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
热心网友
时间:2023-10-09 02:32
是-3.4*10^38到3.4*10^38
两个答案说3.4E-38 ~3.4E+38,岂不是负数和0都不能表示了?3.4E-38是大于0的啊。
热心网友
时间:2023-10-09 02:33
3.4*10的-38次幂 ---3.4*10的38次幂!!
热心网友
时间:2023-10-09 02:32
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
热心网友
时间:2023-10-09 02:32
是-3.4*10^38到3.4*10^38
两个答案说3.4E-38 ~3.4E+38,岂不是负数和0都不能表示了?3.4E-38是大于0的啊。
热心网友
时间:2023-10-09 02:33
3.4*10的-38次幂 ---3.4*10的38次幂!!
热心网友
时间:2023-10-09 02:32
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
热心网友
时间:2023-10-09 02:32
是-3.4*10^38到3.4*10^38
两个答案说3.4E-38 ~3.4E+38,岂不是负数和0都不能表示了?3.4E-38是大于0的啊。
热心网友
时间:2023-10-09 02:33
3.4*10的-38次幂 ---3.4*10的38次幂!!