FLOAT,DOUBLE的范围能用2的多少次方那种关系式表达吗= =除了INT .FLOAT .DOUBLE.还有什么常用的类型?= =附范围……谢谢

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/08 13:14:23

FLOAT,DOUBLE的范围能用2的多少次方那种关系式表达吗= =除了INT .FLOAT .DOUBLE.还有什么常用的类型?= =附范围……谢谢
FLOAT,DOUBLE的范围
能用2的多少次方那种关系式表达吗= =
除了INT .FLOAT .DOUBLE.还有什么常用的类型?= =附范围……谢谢

FLOAT,DOUBLE的范围能用2的多少次方那种关系式表达吗= =除了INT .FLOAT .DOUBLE.还有什么常用的类型?= =附范围……谢谢
float和double的范围是由指数的位数来决定的.
float的指数位有8位,而double的指数位有11位,分布如下:
float:
1bit(符号位) 8bits(指数位) 23bits(尾数位)
double:
1bit(符号位) 11bits(指数位) 52bits(尾数位)
于是,float的指数范围为-127~+128,而double的指数范围为-1023~+1024,并且指数位是按补码的形式来划分的.
其中负指数决定了浮点数所能表达的绝对值最小的非零数;而正指数决定了浮点数所能表达的绝对值最大的数,也即决定了浮点数的取值范围.
float的范围为-2^128 ~ +2^128,也即-3.40E+38 ~ +3.40E+38;double的范围为-2^1024 ~ +2^1024,也即-1.79E+308 ~ +1.79E+308.
常用数据类型有以下几种(32位机):
char 1字节
short 2字节
int 4字节
long 4字节
long long 8字节
float 4字节
double 5字节
long double 12字节