当前位置:网站首页>为什么四个字节的float表示的范围比八个字节的long要广

为什么四个字节的float表示的范围比八个字节的long要广

2022-08-02 14:20:00 L..14

    首先我们都知道long整型是8个字节,而float只有四个字节,按理说8个字节的范围比4个字节的范围要广一些,但是float却比long要广,以下我们就来解释一下:

float:是单精度浮点值,占4个字节。单精度是这样的格式,如下图所示:

1位符号位8位指数位23位尾数位

其中符号位决定浮点数的正负,0正1负;

指数和尾数都是从浮点数的二进制科学计数形式

中获取的。而不是咱们平时所用的4个字节,2^32-1这样算。

long:是长整型值,占8个字节,所以它的范围是  -2^63 ~ 2^63-1。

我们举个例子来说明:

long占8个字节,1个字节是8bit,所以  long:2^63-1,

而float只占4个字节,但是由于它是浮点数用科学计数法来表示为 

float:3.4*10^38 > 2*10^38 > 2*8^38

         而2*8^38转换一下就能成为2*2^3^38 = 2*2^114 > 2^63-1

这个数字是远大于2^63-1的,所以我们能看到long的范围没有float范围广。

代码演示如下图:

 从图中我们能清晰的看出用float的最大范围减去long整型的最大范围所得出的数是一个整数,所以表示float所表示的范围的确是比long 整型要广。

原网站

版权声明
本文为[L..14]所创,转载请带上原文链接,感谢
https://blog.csdn.net/qq_59510147/article/details/125981756