为什么浮点数的表示范围比整型数大?

来源:百度知道 编辑:UC知道 时间:2024/05/25 19:35:26
32位计算机中,float和int的型的数都是4字节,
为什么:float的范围 (-3.4×10 ^38,3.4×10 ^38)
int的范围 (-2147483648, 2147483647)
为什么float的表示范围比int的大这么多?

1、浮点数和整型数在计算机内的表示方式不一样,在同样的4字节里,浮点数包括阶码和尾数,阶码表示指数代表浮点数的范围,尾数代表浮点数的精度。
2、float的有效位数要小于int类型,int类型32位中有31位表示有效数字,float类型中只有部分位表示有效数字,其余位表示在此基础上再扩大的倍数。
3、float是用有效数字位数换得表示范围的。

float的有效位数要小于int类型
int类型32位中有31位表示有效数字。
float类型中只有部分位表示有效数字,其余位表示在此基础上再扩大的倍数。
float是用有效数字位数换得表示范围。
例如float无法区分20位以上的两个相邻整数(十进制)。