浮点数的乘除法运算 您所在的位置:网站首页 计算器算乘法再加乘法 浮点数的乘除法运算

浮点数的乘除法运算

2023-07-18 12:56| 来源: 网络整理| 查看: 265

浮点数的乘除运算 浮点数乘除法的运算规则浮点数乘除法运算步骤 我们学习了浮点数的加减法运算,乘除法运算的掌握当然也是比较容易的,下面是一些有关浮点数乘除法运算的相关知识点的总结。

浮点数乘除法的运算规则

运算规则:两个浮点数相乘,乘积的阶码应为相乘两数的阶码之和,乘积的尾数应为相乘两数的尾数之积。两个浮点数相除,商的阶码为被除数的阶码减去除数的阶码,尾数为被除数的尾数除以除数的尾数所得的商,下面用数学公式来描述。

假设有两个浮点数x和y:

x=Sxx r^jx

y=Syx r^jy

那么有

xy=(Sx xSy)x r^ (r^jx+ r^jy)

x/y=(Sx /Sy))x r^ (r^jx+ r^jy)

我们可以看出,浮点数乘除运算不存在两个数的对阶问题,故比浮点数的加减法还要简单。

提醒:在运算过程中,需要考虑规格化和舍入问题。

浮点数乘除法运算步骤

浮点数的乘除运算可归纳为以下4个步骤。

第一步: 0操作数检查。

对于乘法:检测两个尾数中是否一一个为0,若有一个为0,则乘积必为0,不再做其他操作;若两尾数均不为0, 则可进行乘法运算。

对于除法:若被除数x为0,则商为0;若除数y为0,则商为∞,另作处理。若两尾数均不为0,则可进行除法运算。

第二步:阶码加减操作。

在浮点乘除法中,对阶码的运算只有4种,即+1、-1、两阶码求和以及两阶码求差。当然,在运算的过程中,还要检查是否有溢出,因为两个同号的阶码相加或异号的阶码相减可能产生溢出。

第三步:尾数乘/除操作。

对于乘法:第2章讲解了非常多的定点小数乘法算法,两个浮点数的尾数相乘可以随意选取一种定点小数乘法运算来完成。

对于除法:同上。

第四步:结果规格化及舍入处理。

可以直接采用浮点数加减法的规格化和舍入处理方式。主要有以下两种:

1)第一种:无条件地丢掉正常尾数最低位之后的全部数值。这种办法被称为截断处理,其好处是处理简单,缺点是影响结果的精度。

2)第二种:运算过程中保留右移中移出的若干高位的值,最后再按某种规则用这些位上的值进行修正尾数。这种处理方法被称为舍入处理。

当尾数用原码表示时,舍入规则比较简单。最简便的方法是,只要尾数的最低位为1,或移出的几位中有为1的数值,就使最低位的值为1.另一种是0舍1入法,即当丢失的最高位的值为1时,把这个1加到最低数值位上进行修正。

当尾数用补码表示时,所用的舍入规则应该与用原码表示时产生相同的处理效果。具体规则是:

1)当丢失的各位均为0时,不必舍入。

2)当丢失的各位数中的最高位为0,且以下各位不全为0时,或者丢失的最高位为1,

3)当丢失的最高位为1,以下各位不全为0时,执行在尾数最低位加1的修正操作。

我们依旧根据例题来加深我们对其的理解:

【例1】假设, 分别有如下补码(尾数): 1100001.11100000 1110101010111100试对上述4个补码进行只保留小数点后4位有效数字的舍入操作。

解析:对于1.01110000,由于待丢失的后4位全为0,因此应该遵循规则1),当丢失的各位均为0时,不必舍入。因此,舍入后的补码为1.0111。

对于1.01111000,待丢失的后4位为100与规则2)相吻合,即丢失的最高位为1,以下各位均为0时,舍去丢失位上的值。因此,舍入后的补码为1.0111。

对于1.01110101,待丢失的后4位为0101,与规则2)相吻合,即当丢失的各位数中的最高位为0,且以下各位不全为0时,舍去丢失位上的值。因此,舍入后的补码为1.0111

对于1.01111100待丢失的后4位为1100,与规则3)相吻合,即当丢失的最高位为1,以下各位不全为0时,执行在尾数最低位加1的修正操作。因此,舍入后的补码为1.0111+1=1.1000。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有