当前位置: 首页 > article >正文

IEEE 754浮点数表示

浮点数组成

单精度浮点数(32位)为例说明:

十进制浮点数组成:

十进制基数(base)为10
在这里插入图片描述

二进制浮点数组成:

二进制基数(base)为2

以IEEE 754标准表示十进制数: ( 7.625 ) 10 (7.625)_{10} (7.625)10,先将其转成二进制表示: ( 111.101 ) 2 = 1.11101 ∗ 2 2 = 2 2 ∗ ( 1 + 0.11101 ) (111.101)_{2}=1.11101*2^{2}=2^{2}*(1+0.11101) (111.101)2=1.1110122=22(1+0.11101)

将以上二进制以IEEE 754标准存入内存中如下:
在这里插入图片描述

浮点数 二进制小数转十进制小数公式: s i g n ∗ 2 E ∗ ( 1 + m a n t i s s a ) sign*2^{E}*(1+mantissa) sign2E(1+mantissa) 这里的 E E E是实际指数(下面会说明 E E E的计算)而不是存储在内存中的指数。

IEEE 754 浮点数概述

在这里插入图片描述

IEEE 754 规范化浮点数

sign规定

0为正

1为负

exponent规定

指数部分有正有负,因此IEEE 754标准中采用有偏指数(The Biased exponent)表示。这意味着存储在内存中的指数部分 e e e并不是实际的指数 E E E。存储在内存中的指数 e e e为实际指数 E E E加上偏移常数(Bias)。
对于单精度浮点数(32位)为例,实际指数 E E E和存储的指数 e e e之间的关系如下:
E = e − 127 E=e-127 E=e127
这里,127是偏移常数(Bias)。偏移常数计算采用: 2 n − 1 − 1 2^{n-1}-1 2n11,这里的 n n n为存储指数的bit位数。对于单精度浮点数,指数部分占8位(即 n = 8 n=8 n=8),因此偏移常数是 2 8 − 1 − 1 = 127 2^{8-1}-1=127 2811=127

mantissa规定

通过移位操作将小数点前的值固定为1。

mantissa为23位,但是小数点前有固定为1的一位,因此尾数部分比实际多一位,共24位(significand)

IEEE 754 非规范化浮点数

非规范化浮点数表示0和接近0的值

exponent规定

exponent部分全为0。

偏移值比规范化的偏移值小1。即: 2 n − 1 − 2 2^{n-1}-2 2n12,以单精度浮点数为例 2 8 − 1 − 2 = 126 2^{8-1}-2=126 2812=126表示0。指数位全为0,则是-126。

mantissa规定

规范化浮点数表示,mantissa部分有一个省略的前导1

非规范化浮点数表示,当指数位全为0时,mantissa部分没有被省略的前导1

特殊值

Infinity值

在这里插入图片描述
在这里插入图片描述

NaN(Not a Number)值

在这里插入图片描述
在这里插入图片描述

好用的几个工具

  1. base convert
  2. float toy

http://www.kler.cn/a/305776.html

相关文章:

  • 微信小程序map组件所有markers展示在视野范围内
  • 009:传统计算机视觉之边缘检测
  • 力扣经典题目之219. 存在重复元素 II
  • 【Nginx】设置https和http同时使用同一个端口访问
  • PostgreSQL学习笔记(二):PostgreSQL基本操作
  • 年会抽奖Html
  • 18062 二维数组每行中的最大值
  • k8s环境配置
  • 【Unity】简易而又实用的抽卡算法
  • 机器学习特征构建与特征筛选
  • NC字典树的实现
  • 深入理解 Redis 的文件事件处理器
  • 暗界正方形之谜
  • 【YashanDB知识库】单机升级典型问题及应急措施
  • Spring3-IoC1-IoC容器、基于xml管理bean
  • 【SSRF漏洞】——http协议常见绕过
  • 【React】React18.2.0核心源码解读
  • 乌俄冲突下AI和计算机的使用
  • Spring Boot:现代化Java应用开发的艺术
  • 远程访问电脑共享文件
  • 【Arduino】BNO085 姿态的 3D模型 展示方法(映射到 Unity)
  • Mybatis通用接口-基于Provider
  • 一维稳态与非稳态导热的详细分析
  • 力扣100题——栈和堆
  • 设计模式 装饰模式(Decorator Pattern)
  • 讨论人机交互研究中大语言模型的整合与伦理问题