IEEE754浮点数及其运算

本文详细介绍了IEEE754标准下浮点数的格式与运算规则,包括单精度与双精度浮点数的结构、规格化与非规格化数的概念,以及特殊值的表示方法。此外,还阐述了浮点数加减乘除的基本运算流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一个二进制浮点数可以表示为:

  • 数的符号
  • 一些有效位
  • 有符号的比例因子系数(隐含的基数为2)

结构如图所示(单精度)

如果是双精度浮点数,则是1位符号位+11位余1023格式的指数+52位尾数

规格化:当二进制小数点位于第一个有效位的右方时,我们说这个数是规格化(Normalized)的。

特殊值

余127指数E’的端点值0和255被用来表示特殊值。

当E’=255且M=0时,表示∞。这里的∞时用0去除一个正常数的结果。这些表示中仍然使用符号位,因此存在±0和±∞的表示。

当E’=0且M≠0时,表示的是非规格化数, 其值为±0.Mx2^-126。因此它比最小的规格化数还小。

当E’=255且M≠0时,表示的数称为非数。即NaN,表示执行非法操作的结果。

浮点数算术运算

1.加/减法规则

  1. 选取指数较小的数,将其尾数右移,右移的步数等于两指数之差。
  2. 将结果的指数设为与较大的指数相等。
  3. 对尾数进行加/减运算,并确定结果的符号。
  4. 如果必要,对结果的值进行规格化。

乘除法比加减法要简单些,因为不需要对齐尾数。

2.乘法规则

  1. 将指数相加并减去127以保持余127表示。
  2. 将尾数相乘并确定结果的符号。
  3. 如果必要,对结果的值进行规格化。

3.除法规则

  1. 将指数相减并加上127以保持余127表示。
  2. 将尾数相除并确定结果的符号。
  3. 如果必要,对结果的值进行规格化。

转载请注明来源:IEEE754浮点数及其运算 | 龙进的博客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值