计算机基础——浮点数加减运算

十进制科学计数法的加法例子

1.123 × 10^5 + 2.560 ×10^

其计算过程为:

1.123 ×10^5 + 2.560 ×10^2 = 1.123 ×10^5 + 0.002560 ×10^5
                                              
=(1.123 + 0.00256) ×10^5
                                              = 1.12556 ×10^

                                              =1.126 ×10^5

进行尾数加减运算前,必须对阶最后还要考虑舍入

计算机内部的二进制运算也一样!

“对阶”操作:目的是使两数阶码相等

      –小阶向大阶看齐,阶小的那个数的尾数右移,右移位数等于两个阶码差的绝对值

      –IEEE 754尾数右移时,要将隐含的1”移到小数部分,高位补0,移出的低位保留到特定的“附加位”

基本要点

(假定:XmYm分别是XY的尾数,  XeYe 分别是XY的阶码 )

(1)  求阶差:∆e=Ye – Xe  (Ye > Xe,则结果的阶码为Ye)

(2)  对阶:将Xm右移∆e位,尾数变为 Xm*2Xe-Ye(保留右移部分附加位

(3)  尾数加减: Xm*2Xe-Ye ± Ym

(4) 规格化:

      当尾数高位为0,则需左规:尾数左移一次,阶码减1,直到MSB1或阶码为00000000-126,非规格化数)

      每次阶码减1后要判断阶码是否下溢(比最小可表示的阶码还要小)

      当尾数最高位有进位,需右规:尾数右移一次,阶码加1,直到MSB1

      每次阶码加1后要判断阶码是否上溢(比最大可表示的阶码还要大

阶码溢出异常处理:阶码上溢,则结果溢出;阶码下溢到无法用非规格化数表示,则结果为0

(5)如果尾数比规定位数长(有附加位),则需考虑舍入(有多种舍入方式)

(6)运算结果尾数0,则需要将阶码也置0。为什么?

尾数为0说明结果应该为0(阶码和尾数为全0)。

  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

李逍遥~

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

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

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

打赏作者

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

抵扣说明:

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

余额充值