IEEE754协议使用一个固定长度的数据结构来表示实数的近似值。数据结构有三部分:1位符号s、k位阶码编码 e=ek−1ek−2...e0和n位尾数编码 f=fn−1fn−2...f0。

s、e和f三部分依次表示符号S、阶码E和尾数M,对应的实数值是 V=S∗M∗2^E。 符号的编码比较简单,即 S=(−1)^s 。阶码E和尾数M的编码稍微复杂一些。如果e不等于0且不等于 2^k−1 ,此时E = e-Bias,M = 1+0.fn−1...f0 。其中Bias= 2^k−1−1 叫做偏置量。注意这里的小数 1+0.fn−1...f0 是一个二进制小数。这样的浮点数叫做规格化浮点数。规格化浮点数用于表示距离0比较远的,比较大的实数。如果e等于0,此时E = 1-Bias,M= fn−1...f0 。这样的浮点数叫做非规格化的,用于表示接近于0的小数。当e= 2k−1 且f等于0时浮点数表示无穷大,当e = 2^k−1且f不等于0时,浮点数表示非数值。

上面介绍的是IEEE754浮点数的一般格式。按照一般格式,阶码长度k和尾数长度n共同决定一种IEEE754浮点数。IEEE754定义了3种浮点数类型,分别是单精度浮点数、双精度浮点数、扩展双精度浮点数。

Table 3: IEEE754定义的浮点数
单精度浮点数 双精度浮点数 扩展双精度浮点数
指数位数 8 11 至少15
尾数位数 23 52 至少64
总位数 32 64 至少79(通常80)

随着神经网络的发展,为了加速浮点数运算,又出现了半精度浮点数(FP16)和FP8。

Table 4: 新浮点数类型
类型 半精度浮点数FP16 FP8(E5M2) FP8(E4M3)
指数位数 5 5 4
尾数位数 10 2 3
总位数 16 8 8

IEEE754浮点数简介相关推荐

  1. IEEE754浮点数

    IEEE754浮点数 一个浮点数包括三部分: 符号部分(Sign).指数部分(Exponent).分数部分(Fraction) IEEE754浮点数不是均匀分布的.仅能代表有限个数的实数 对于norm ...

  2. IEEE754浮点数标准

    目录 一.介绍32位单精度格式 二.介绍几种数的区别 三. 规格数 作用: 格式: 意义: 四.非规格数 作用: 格式: 意义: 五.非规格数补充 逐渐溢出 密集分布 六.特殊数 无穷 NaN 一.介 ...

  3. IEEE754 浮点数的表示方法

    原文地址:https://blog.csdn.net/K346K346/article/details/50487127 1.浮点数的存储格式 浮点数(Floating-point Number)是对 ...

  4. IEEE754浮点数格式详解

    IEEE754浮点数格式详解 几乎所有计算机都支持二进制数据表示,即能直接识别二进制数据表示并具有相应的指令系统.通常采用的二进制定点数据表示主要有:符号数值.反码.补码以及带偏移增值码四种形式,其中 ...

  5. IEEE754 浮点数:简读+案例=秒懂

    IEEE754 浮点数:简读+案例=秒懂 在IEEE 754 格式浮点数由 3 个部分组成,分别是 符号码,阶码,尾数码,对应部分所占位数如图 1-1 所示: 图 1-1 IEEE 754 标准分 3 ...

  6. 一文读懂 IEEE754 浮点数的表示方法

    FBI WARNING:鄙人首个开源电子书 <Go 编码建议>已经上线啦,欢迎各位大佬斧正指导,协同共建. 文章目录 1.浮点数的存储格式 2.移码 3.浮点数的规格化 3.1 单精度浮点 ...

  7. 为啥IEEE754浮点数尾数用原码不用补码?

    为啥IEEE754浮点数尾数用原码不用补码? https://cs.stackexchange.com/questions/6048/why-floating-point-representation ...

  8. 【体系结构】IEEE754浮点数标准学习与机器码表示总结

    怎么上传了,排版和Typora差这么多-头疼,就这样吧- 一 IEEE754浮点数标准学习 没想到本科不喜欢.瞎学的祭祖,现在还是得重新.认真地重学一遍."不喜欢"果然无法成为拒绝 ...

  9. IEEE754浮点数数

    1.IEEE754浮点数标准 1.1标准形式 S(数符) 阶码(含阶符) 尾数 1.2不同的浮点数标准 符号位S 阶码 尾数 总位数 短实数 1 8 23 32 长实数 1 11 52 64 临时实数 ...

最新文章

  1. java绘制地球绕太阳转_Unity3D 公转小案例:地球围绕太阳转
  2. STM32学习笔记——DMA控制器(向原子哥学习)
  3. pytorch 和nltk 结合训练的例子
  4. JS双向数据绑定的原理介绍
  5. WPF入门教程系列十三——依赖属性(三)
  6. 8口PoE网口供电交换机适用环境介绍
  7. java 中violate_Java中的Volatile关键字
  8. matlab用之前的计算结果递归,[转载]Matlab正则表达式(递归、匹配上下文等)(转载)...
  9. flex布局实现叠在另一个div之上_CSS3 flex弹性伸缩布局[上]
  10. [Android Pro] java.lang.IllegalStateException: Fragment(XXFragment) not attached to Activity异常
  11. Coolite服务端方法调用与Web.Config配置
  12. Lambda表达式基础
  13. 手机拍照普及,相机依然拥有不可替代的优势
  14. Map 转 json格式 保留null值的解决办法
  15. LinuxCNC Stepconf设置教程
  16. 记录小新pro13 Intel版(S540-13IML)安装hackintosh的一些要点
  17. PowerDesigner下载地址
  18. 标准差和标准误的区别
  19. BAT32G137 移植threadX
  20. linux acl权限是什么意思,Linux ACL是什么意思

热门文章

  1. 5.4 创建 WBS
  2. 理财投资理念黄金法则
  3. 沉浸其境,共赴云栖数智硬核美学
  4. 鸿蒙os和vivo新系统,跳过鸿蒙系统后,中兴给出新选择,魅族和vivo却坐不住了...
  5. 立足自主创新,编程猫助推国内高质量编程教育普及
  6. C语言编程学习制作最好玩的报数游戏
  7. 在更改计算机的设置路由器,怎么改路由器wifi密码 怎么修改路由器wifi密码
  8. 个推里群推php教程,GitHub - lyx2297999137/yii2-igetui: yii2个推
  9. 一次HTTP(S)请求究竟需要多少流量?Wireshark抓包分析
  10. 制作人 Joe Carrell 教你充分释放TB12音色野兽