首页 > 编程知识 正文

浮点数除法和整数除法,浮点数的加减乘除

时间:2023-05-06 05:17:00 阅读:18431 作者:3073

浮点数乘除浮点数乘除的运算规则浮点数乘除步骤

我学习了浮点数的加减法。 学习乘除运算当然也很容易。 总结一下浮点数乘除的相关知识点。

浮点数乘除运算规则

将运算规则:中的两个浮点数相乘。 乘积的阶码必须乘以两个数的阶码之和,乘积的尾数必须乘以两个数的尾数之积。 将两个浮点数相除。 商的阶码是被除数的阶码减去除数的阶码,尾数是被除数的尾数除以除数的尾数的商。 以下用公式记述。

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

x=Sxx r^jx

y=Syx r^jy

那么。

(xy=(sxxsy ) xr^(r^JXr^jy ) ) ) ) ) ) ) 65

x/y=(sx/sy ) ) xr ^ (r ^ jxr ^ jy ) ) )。

可以看出,由于浮点数的乘除运算没有2个数的对阶问题,所以比浮点数的加减法更简单。

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

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

第一步: 0操作数检查。

对于乘法器333到360,检测两个尾数中的一者是否为0,并且如果一者为0,则乘积必须为0,而不执行其它操作; 如果两个尾数都不为0,则可以进行乘法运算。

对于除法:如果被除数x为0,则商为0; 如果除数y为0,则商为,进行其他处理。 如果两个尾数都不为0,则可以进行除法运算。

步骤:层代码加减操作。

在浮点乘法中,对阶码的运算只有求1、-1、2阶码加法、以及2阶码之差的4种。 当然,在运算过程中,也会检查是否存在溢出。 因为如果将两个相同编号的楼层编号相加或减去不同编号的楼层编号,可能会发生溢出。

步骤:尾数乘法/除法操作。

乘法:第二章介绍了非常多的定点小数乘法。 两个浮点数的尾数乘法可以选择任意定点小数乘法进行。

对于除法:也是同样的。

步骤:结果的归一化和舍入处理。

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

1 )第一类:无条件舍弃正常尾数最低位以后的所有数值。 该方法称为截断处理,其优点是处理简单,缺点是影响结果的精度。

2 )在第二类:运算过程中,保持通过右移位去除的几个高位的值,最后根据一些规则使用这些位的值来修改尾数。 这种处理方法称为舍入处理。

如果舍入由原始代码表示,则舍入规则相对简单。 最简单的方法是,如果尾数的最低位为1,或者移动的数字中有1,则将最低位的值设为1。 另一种是0舍1入法。 也就是说,如果丢失的最高位的值为1,则将此1加到最低位进行修正。

如果用补数表示舍入,则使用的舍入规则应该与用原始代码表示的舍入效果相同。 具体规则是:

1 )如果所有丢失的人都为0,则无需舍入。

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

3 )如果丢失的最高有效位为1,而以下所有位都不为0,则执行将尾数最低有效位加1的校正操作。

根据例题加深我们的理解。

【例1】假设分别有以下补数(尾数) : ) 1100001.11100000 ) 111010101100,则尝试对上述四个补数进行舍入操作,仅留下小数点后四位的有效数字。

分析:对于1.01110000,丢失的后四位都是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。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。