当前位置:网站首页>为什么四个字节的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 整型要广。
边栏推荐
猜你喜欢
随机推荐
lammps学习(一)单晶硅纳米磨削
【网络参考模型】
Mysql删库恢复数据
JS中的数组方法和循环
【面经】被虐了之后,我翻烂了equals源码,总结如下
UINIX 高级环境编程杂项之限制
Servlet 技术1
CUDA programming based on Visual Studio 2015 (1): basic configuration
DOM —— 事件类型
webrtc 中怎么根据 SDP 创建或关联底层的 socket 对象?
DOM - Event Delegate
解决启动filebeat时遇到Exiting: error unpacking config data: more than one namespace configured accessing错误
Scala的基础语法(小试牛刀)
lammps聚合物建模——EMC
【滤波器】最小均方(LMS)自适应滤波器
web渗透之文件上传漏洞
Principles of permutation entropy, fuzzy entropy, approximate entropy, sample entropy and approximate entropy implemented by MATLAB
DOM —— 事件代理
makefile——pattern rule
2021年度总结——收获圆满的一年









