IEEE754标准中的4种舍入模式

一、前言

最近在写一个基于IEEE754标准的浮点加法器,其中有一项要求就是要满足IEEE754标准的四种舍入模式。

我们在进行对阶或者右规格化的时候,阶数较小的操作数在进行右移的时候,会造成尾数部分的低位丢失,从而会造成误差。因此我们才需要根据需求,采取四种舍入模式中的一种对尾数进行舍入操作以减少误差。

二、IEEE754标准中的4种舍入模式

1、就近舍入

即十进制下的四舍五入。但是也会出现以下几种情况:

  • 多余数字是1001,它大于0.5,故最低位进1。
  • 多余数字是0111,它小于0.5,则直接舍掉多余数字。
  • 多余数字是1000,正好是等于0.5的特殊情况;那么此时最低位为0则舍掉多余位,最低位为1则进位1。

注意这里说明的数位都是指二进制数。因为这是尾数,所以在计算这些二进制和0.5的关系的时候,也即转为10进制的时候,我们用每一位的权重乘以2^(-i)然后求和即可。

2、朝0舍入:即朝数轴零点方向舍入,所以我们直接截尾即可。

3、朝正无穷舍入:对正数而言,多余位全为0则直接截尾,不全为0则向最低有效位进1;负数的话不管多余位是多少直接截尾即可。

4、朝负无穷舍入:对负数而言,多余位全为0则直接截尾,不全为0则向最低有效位进1;正数的话不管多余位是多少直接截尾即可。

三、举例

要求保留小数点后3位

1、就近舍入

对于1.001_1001,舍入处理后为1.010(去掉多余的4位,加0.001)
对于1.001_0111,舍入处理后为1.001(去掉多余的4位)
对于-1.001_1000,舍入处理后为-1.010(去掉多余的4位,加0.001,因为此时最低位为1)
对于-1.010_1000,舍入处理后为-1.010(直接去掉多余的4位,因为此时最低位为0

2、朝0舍入

//正数直接截尾
对于1.001_1001,舍入处理后为1.001(直接去掉多余的4位)
对于1.001_0111,舍入处理后为1.001(直接去掉多余的4位)

//负数直接截尾
对于-1.001_1000,舍入处理后为-1.001(直接去掉多余的4位)
对于-1.010_1000,舍入处理后为-1.010(直接去掉多余的4位)

3、朝正无穷舍入

//正数多余位不全为0进位1
对于1.001_1001,舍入处理后为1.010(去掉多余的4位,加0.001)
对于1.001_0111,舍入处理后为1.010(去掉多余的4位,加0.001//正数多余位全为0直接截尾
对于1.001_0000,舍入处理后为1.001(直接去掉多余的4位)

//负数直接截尾
对于-1.001_1010,舍入处理后为-1.001(直接去掉多余的4位)

4、朝负无穷舍入

//正数直接截尾
对于1.001_1001,舍入处理后为1.001(直接去掉多余的4位)
对于1.001_0111,舍入处理后为1.001(直接去掉多余的4位)

//负数多余位全为0直接截尾
对于-1.001_0000,舍入处理后为-1.001(直接去掉多余的4位)

//负数多余位不全为0进位1
对于-1.001_1010,舍入处理后为-1.010(去掉多余的4位,加0.001

我觉得可能我的理解会有错误,知道的小伙伴可以交流一下!!!

参考链接: https://www.cnblogs.com/jva-index/p/13897423.html

  • 36
    点赞
  • 98
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 6
    评论
IEEE-754 2008是一项关于二进制浮点数算术标准的国际工程标准。它于2008年由IEEE(美国电气和电子工程师协会)发布,以取代之前的IEEE-754 1985标准。该标准主要定义了浮点数的表示、舍入以及基本算术运算。 IEEE-754 2008标准规定了浮点数的二进制表示方法,一般为一个符号位、一定数量的指数位和一定数量的尾数位。符号位表示数的正负,指数位确定数的大小范围,尾数位表示数的精度。标准还规定了正负零、正负无穷大、NaN(不是一个数字)等特殊的浮点数值表示方法。 在浮点数计算IEEE-754 2008还规定了舍入模式,即在进行浮点数运算时如何舍入结果。舍入模式包括向最近的偶数舍入、向最接近的浮点数舍入、向正无穷大舍入、向负无穷大舍入以及向零舍入等。不同的舍入模式可以在处理浮点数时产生不同的舍入误差。 此外,IEEE-754 2008还定义了一些基本的算术运算规则,如加法、减法、乘法和除法。这些规则确保了浮点数在计算过程的正确性和精度,同时还考虑了浮点数溢出、下溢出以及除以零等特殊情况的处理。 总之,IEEE-754 2008标准是一个重要的工程标准,它规定了浮点数的表示、舍入和基本算术运算等方面的规则。这个标准的制定对于确保计算机浮点数计算的正确性和精度具有重要意义,被广泛应用于科学计算、工程计算、金融计算等领域。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

耐心的小黑

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值