1 / 4
文档名称:

浮点运算方法.doc

格式:doc   大小:32KB   页数:4页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

浮点运算方法.doc

上传人:aibuaiwo1318 2018/4/15 文件大小:32 KB

下载得到文件列表

浮点运算方法.doc

相关文档

文档介绍

文档介绍:浮点运算方法
浮点数的加减运算一般由以下五个步骤完成:对阶↓尾数运算↓结果规格化↓舍入处理↓溢出判断设两浮点数X、Y进行加减运算,其中X=Mx·2Ex,Y=My·
所谓对阶是指将两个进行运算的浮点数的阶码对齐的操作。对阶的目的是为使两个浮点数的尾数能够进行加减运算。因为,当进行Mx·2Ex与My·2Ey加减运算时,只有使两浮点数的指数值部分相同,才能将相同的指数值作为公因数提出来,然后进行尾数的加减运算。对阶的具体方法是:首先求出两浮点数阶码的差,即⊿ E=Ex-Ey,将小阶码加上⊿ E,使之与大阶码相等,同时将小阶码对应的浮点数的尾数右移相应位数,以保证该浮点数的值不变。几点注意:(1)对阶的原则是小阶对大阶,之所以这样做是因为若大阶对小阶,则尾数的数值部分的高位需移出,而小阶对大阶移出的是尾数的数值部分的低位,这样损失的精度更小。(2)若⊿ E=0,说明两浮点数的阶码已经相同,无需再做对阶操作了。(3)采用补码表示的尾数右移时,符号位保持不变。(4)由于尾数右移时是将最低位移出,会损失一定的精度,为减少误差,可先保留若干移出的位,供以后舍入处理用。
尾数运算就是进行完成对阶后的尾数相加减。这里采用的就是我们前面讲过的纯小数的定点数加减运算。
在机器中,为保证浮点数表示的唯一性,浮点数在机器中都是以规格化形式存储的。对于IEEE754标准的浮点数来说,。由于在进行上述两个定点小数的尾数相加减运算后,尾数有可能是非规格化形式,为此必须进行规格化操作。规格化操作包括左规和右规两种情况。
左规操作:将尾数左移,同时阶码减值,。例如,·25是非规格化的形式,需进行左规操作,将其尾数左移3位,同时阶码减3,·22规格化形式了。右规操作:将尾数右移1位,同时阶码增1,便成为规格化的形式了。要注意的是,右规操作只需将尾数右移一位即可,这种情况出现在尾数的最高位(小数点前一位)运算时出现了进位,。例如,··26的规格化形式了。
,尾数需要右移,被右移出去的位会被丢掉,从而造成运算结果精度的损失。为了减少这种精度损失,可以将一定位数的移出位先保留起来,称为保护位,在规格化后用于舍入处理。
IEEE754标准列出了四种可选的舍入处理方法:(1)就近舍入(round to nearest)这是标准列出的默认舍入方式,其含义相当于我们日常所说的"四舍五入"。例如,对于32位单精度浮点数来说,若超出可保存的23位的多余位大于等于100…01,则多余位的值超过了最低可表示位值的一半,这种情况下,舍入的方法是在尾数的最低有效位上加1;若多余位小于等于011…11,则直接舍去;若多余位为100…00,此时再判断尾数的最低有效位的值,若为0则直接舍去,若为1则再加1。
(2)朝+∞舍入(round toward+∞)对正数来说,只要多余位不为全0,则向尾数最低有效位进1;对负数来说,则是简单地舍去。(3)朝-∞舍入(round toward-∞)与朝+∞舍入方法正好相反,对正数来说,只是简单地舍去;对负数来说,只要多