为什么四个字节的浮点数比八个字节的整数表示的范围广?

整型:

byte:1个字节 8位 -128~127

short :2个字节 16位

int :4个字节 32位

long:8个字节 64位

浮点型:

float:4个字节 32 位

double :8个字节 64位

 

 float由符号位、指数位、和尾数部分组成。float最左边一位表示符号位,中间8位部分表示指数位,剩下23位表示尾数。由于指数位部分有符号,指数部分的10000000和整型不同,它表示的值是128,所以指数位的取值范围是-127到128,因此我们可以得出float的取值范围大约是-2^128到2^128,这个近似值也可以表示为为-3.4E到3.4E。据此可以得出图中的符号位为0是正数,指数部分为正值124。最后我们可以得出四个字节的float的取值范围是比八个字节的long的取值范围大的。

八个字节的整数范围:  -2^63--2^63-1

四个字节的浮点数范围:-2^127--2^127

因此可以得到的是四个字节的浮点数范围比八个字节的浮点数范围要广。
 


版权声明:本文为wangkai2580原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。