IEEE754浮点数标准

本文详细介绍了IEEE754浮点数标准中的32位单精度格式,包括规格数、非规格数和特殊数(无穷和NaN)的概念、格式和作用。内容涵盖了不同数的区别、取值范围以及它们在表示数值时的特点,帮助读者深入理解浮点数的表示方式。
摘要由CSDN通过智能技术生成

目录

一、介绍32位单精度格式

二、介绍几种数的区别

三、 规格数

作用:

格式:

意义:

四、非规格数

作用:

格式:

意义:

五、非规格数补充

逐渐溢出

密集分布

六、特殊数

无穷

NaN


一、介绍32位单精度格式

二、介绍几种数的区别

三、 规格数

作用:

格式:

作:

四、非规格数

作用:

格式:

意义:

五、非规格数补充

逐渐溢出

密集分布

六、特殊数

无穷

NaN


在IEEE754浮点数标准,提供了两种基本浮点格式,32位单精度格式和64位双精度格式,格式如下:

 下面我以32位单精度格式为例子,分别解释规格数非规格数特殊数

一、介绍32位单精度格式

 如上图:以32位浮点数为例, 其内存状态分为3部分:1位符号位 8位阶码 23位尾数

尾数用原码表示,阶码用移码表示,偏置常数是127

浮点是的取值范围:

对应图:

二、介绍几种数的区别

形如阶码为00000000的数,即8位阶码全为0, 就代表当前数是个非规格数

形如阶码为11111111的数,即8位阶码全为1, 就代表当前数是个特殊数

如果既不是非规格数,也不是特殊数,那它就是规格数(阶码不全为0, 也不全为1)

(下面会解释)

三、 规格数

作用:

用于表示最常见的数值:像3.1415、141615、2.11等

格式:

符号位, 1位: 可正可负

阶码位, 8位: 不全为0且不全为1

尾数位, 23位: 尾数位前隐藏的整数部分是1. 而非 0.(后面会解释)

对于32位浮点数来说, 规格数的阶码位的取值范围是[1, 254], 偏置bias是127, 所以阶是:[-126, 127]

阶码  = 偏置常数 + 阶

所以我们可以知道尾数位的取值范围(二进制表示)是

[1.00000000000000000000000, 1.11111111111111111111111] 

换算成10进制为 [1,2)

意义:

无法表示 0 和 及其靠近0 的数

why:规格数的取值范围是

这个数始终大于0, 即便2^-167非常小, 但还是大于0,那么: 一个始终大于1的数 * 一个始终大于0的数, 永远无法等于0,也就是说: 使用规格数时, 我们除了无法表示0, 也无法表示(0, 2^-167)之间的, 靠近0的极小数...

  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值