IEEE754半精度浮点数详解:结构、计算与示例
创作时间:
作者:
@小白创作中心
IEEE754半精度浮点数详解:结构、计算与示例
引用
CSDN
1.
https://blog.csdn.net/Miracle_cx/article/details/89463503
IEEE754-2008标准中包含了一种“半精度”浮点数格式,也被称为binary16。这种16位宽的浮点数格式虽然存储空间和带宽需求仅为单精度浮点数的一半,但其精度相对较低,主要适用于对精度要求不高的应用场景。
半精度浮点数的结构
半精度浮点数的格式与单精度浮点数类似,由三部分组成:
- 符号位(sign):最左边的一位,0表示正数,1表示负数。
- 指数位(exponent):接下来的5位,以余-16(excess-16)的形式存储。
- 尾数位(fraction):最后的10位,具有隐含的1。
尾数位的解释
尾数位可以理解为浮点数小数点后的部分,例如1.11的尾数就为1100000000。需要注意的是,尾数位具有隐含的1,主要用于计算时可能的进位情况。
指数位的特殊情况
指数位的值有以下几种特殊情况:
- 当指数位全为0且尾数位也全为0时,表示的就是0。
- 当指数位全为0但尾数位不全为0时,表示的是非规格化数(subnormal value),这是一个非常小的数。
- 当指数位全为1且尾数位全为0时,表示的是无穷大。如果符号位为0,则表示正无穷;如果符号位为1,则表示负无穷。
- 当指数位全为1且尾数位不全为0时,表示的不是一个数(NaN)。
- 其余情况下,指数位的值减去15就是其表示的指数。
半精度浮点数的计算方式
半精度浮点数的值可以通过以下公式计算:
(-1)^sign × 2^(指数位的值 - 15) × (1 + 0.尾数位)
例如,如果尾数位为0001110001,则0.尾数位为0.0001110001。
具体示例
半精度可以表示的最大值:0 11110 1111111111
计算方法为:(-1)^0×2^(30-15)×1.1111111111 = 1.1111111111×2^15,即十进制的65504。半精度可以表示的最小值(除了subnormal value):0 00001 0000000000
计算方法为:(-1)^(-1)×2(1-15)=2^(-14),约等于十进制的6.104×10^(-5)。再举一个平常的数,如-1.5625×10^(-1) ,即-0.15625
= -0.00101(十进制转二进制)
= -1.01×2^(-3)
所以符号位为1,指数为-3+15=12,所以指数位为01100,尾数位为0100000000。
所以-1.5625×10^(-1)用半精度浮点数表示就为1 01100 0100000000。
热门推荐
羽绒服怎么穿最暖?这份科学穿搭指南请收好
芦荟的养护方法和注意事项 芦荟管理需要注意什么
30个道家风格的女生名字,小众而令人惊艳
碳纤维与凯夫拉这两种匹克球球拍的区别,值不值得去选购?
50岁后听听劝,这3种运动真的别勉强!不易伤身的锻炼推荐这4种
胃痛不再痛!中西医联手来解救
开启高端化新征程,比亚迪闪耀央视科晚以技术创新塑造品牌新形象
溃疡性结肠炎能喝什么茶
剑网3唐门密室副本攻略及地图解析 副本打法技巧详解
打造“一站式”老年健康管理新模式
加蒂赛后直言遗憾,伤停成困扰尤文再失三分——解读尤文0-0战平维拉的焦点之战
广东二级造价师合格标准及分数线是多少
房屋增值谁承担:法律视角下的责任分配与义务履行
从“门外汉”到“行家里手”——如何欣赏冰壶混双比赛
券商前瞻全国两会信号积极,A股市场或迎利好
乒乓球——WTT球星挑战赛多哈站:张本智和获男单冠军
三坐标测量机:原理、应用与维护全解析
新教材重视培养"说"的能力,如何引导学生敢说、会说、说好?
国际航班的行李托运过程有哪些注意事项?
不锈钢保温壶不保温修复方法(保温杯不保温了怎么办?)
《锦墨风华》短剧如何征服全球观众?
呼伦贝尔: 星熠至北 文脉绵长
半导体工业超纯水标准及水质颗粒物检测(液体粒子计数器)仪器选型
紫叶李养殖注意事项
在线推广音乐的6个基本搜索引擎优化策略
医保卡可以异地买药使用吗?
盗版的Windows系统可以升级吗?一文详解升级风险与正版化建议
无人机3D模拟训练技术详解:从新手到高手的高效学习路径
5 个万能排版口诀,让海报脱颖而出的秘诀!
静滴密固达治疗骨质疏松的多种辅助方法