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。
热门推荐
《哪吒之魔童闹海》领跑2025春节档票房预测
香港野生猴子伤人事件频发,专家提醒:切勿接触和喂食猴子
AI音乐版权大战:技术突破引发的法律挑战
AI音乐版权争议升级:从RIAA诉讼案看行业未来
冯巩处女作《业余警察》:一个时代的记忆
冯巩经典搞笑瞬间,笑点满满!
冯巩春晚“喝醋”背后:一位老艺术家的坚守与转型
冯巩:用创新精神点亮相声艺术
正宗四川凉拌麻辣鸡的做法,香辣鲜香下酒下饭
核心力量训练的重要性与方法
每天坚持健身30分钟以上,长期以往会收获什么好处?
冬季家庭金鱼养殖小窍门
金鱼喂食有窍门,老师傅教你正确养鱼
金鱼喂食有妙招:轻松养出健康小精灵!
AI音乐版权归属大揭秘:谁才是真正的创作者?
AI合成音乐:版权保护的新挑战与解决方案
AI音乐创作平台版权指南:从AmperMusic到AIVA
KOL运营如何成为品牌营销的关键驱动力与信任桥梁?
那些年,我们看过的经典春晚作品
南昌新晋“马尔代夫”,瑶湖郊野森林公园探秘
宜兴张渚瑶湖小镇:打卡江南水乡新地标
起猛了,看到流行语写进春联了!“非遗版”春节倒计时,传承人们也开始“整活儿”了
泉州第一医院“感染楼”启用,看病实现“六不出门”!
多维宇宙与七度空间概念的哲学思考
泉州第一医院:信息化建设助力医疗服务升级
厨艺与美学的碰撞:解锁凉菜装盘的艺术之道
2024乌镇门票多少钱_浙江桐乡乌镇门票价格
科目三考试挂科很多次不过?记住这5个小技巧,新手也能一遍过
考驾照的基本流程
酒店管理:从基层服务员到总监的职业规划指南