21天好习惯第一期—6

计算机组成原理—IEEE754浮点数四则运算

规格化浮点加减运算可按以下步骤进行

(1)检测能否简化操作

一个简单方法是判断操作数是否为零,当两个操作数中只要有一个为零时,加减运算应当简化。以免执行对阶等不必要的后续操作。

(2)对阶

对阶的基本规则:阶码小的数向解码大的数对齐,以大的阶码为基准,把小的阶码变大。

(3)尾数相加/减

当两数的对阶对齐后,两个尾数的原码小数点位置按实际权重对齐,可以让两个尾数做原码加/减运算。

(4)结果规格化

尾数加减后有可能不符合IEEE754浮点数的尾数规格化要求(1<=|M真|<2),因而需要将尾数移位使其规格化。

1.两个同号数相加,如果出现2<=|M真|<4时,则需将尾数右移1位使之规格化。

2.两个异号数相加,如果出现0<=|M真|<1时,则需将尾数左移1位使之规格化。

例题:已知X=0.5,Y=-0.4375,请按IEEE754格式短浮点数计算[X+Y]浮=?

解答:先把X和Y表示成形如+M*2^E的格式,则

              X真=0.5=0.100...00=1.000....00*2^-1

              Y真=-0.4375=-0.01110....00=-1.110....00*2^-2

IEEE754规格化短浮点数代码:

               [X]浮=0 01111110,000....00

               [Y]浮=1 01111101,110....00

阶差:Ex-Ey=01111110-01111101=01111110+(01111101)求补+127=1000 0000;

因Ex>Ey,需对Y对阶,可得到:Y=1 0111 1110,1110....00

把X和Y对阶后的尾数(原码)相加:Mx+y=01.0000....00+10.1110...00;

Mx+y=1.0000...00-0.1110...00=1.0000...00+(0.1110...00)求补=1.0000...00+1.0010...00

         =0.0010...00(下划线的数字1是最高位产生的进位)

         =0 0.0010...00(符号位取为被加数的符号0)

[X+Y]浮=00.0010...00*2^-1,尾数代码0.0010...00值小于1,需左移3位规格化,得到:

[X+Y]浮=01.0000...00*2^-4=00111 1011 000...00(表示为IEEE754格式短浮点数代码)

[X+Y]真=+0.0625

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值