当前位置:网站首页>为什么四个字节的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 整型要广。
边栏推荐
- 8.0以上MySQL的常见错误
- CPU缓存一致性协议MESI
- 2021 Huawei Cup Mathematical Modeling Contest E question - Ultra-Wideband (UWB) precise positioning problem under signal interference
- DOM —— 事件类型
- Cookie 和 Session
- IIR滤波器设计之冲激响应不变法与双线性变换法
- test2
- abstract和接口的基础知识
- JSP技术
- Explain in detail how the bit manipulation operators in C language can be used?
猜你喜欢
随机推荐
集成电路实践----D触发器
FIR滤波器设计之窗函数法
CDN的加速原理是什么?
webrtc 有关 SDP 部分的解析流程分析
DOM - Element Box Model
【Anaconda】一行语句解决Spyder启动问题
nvm管理node版本 nodenpm不是内部或外部命令,也不是可运行的程序
电设3----脉冲信号测试仪
VsCode更新后,怎么使用使用快捷键同时生成多个元素
从零开始的循环之旅(下)
8.0以上MySQL的常见错误
DOM —— 事件机制及事件链
一个简单的 erlang 的 udp 服务器和客户端
【交换机端口安全技术 】
二、QT界面开发--新建C语言工程
MATLAB中dist与pdist、pdist2的区别与联系
idea使用jdbc对数据库进行增删改查,以及使用懒汉方式实现单例模式
DOM - Event Mechanism and Event Chain
职工管理系统(SSM整合)
lammps聚合物建模——EMC