计算机组成原理不恢复余数法,计算机组成原理第七讲(除法-原码恢复余数法)(科大罗克露)...

本文详细解析了定点除法中的原码恢复余数法与原码不恢复余数法(加减交替法),通过实例演示了两种方法的运算步骤,包括判断够减、上商策略,并揭示了补码不恢复余数法的运用。理解这些技巧有助于掌握计算机基础运算的实现原理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

《计算机组成原理第七讲(除法-原码恢复余数法)(科大罗克露)》由会员分享,可在线阅读,更多相关《计算机组成原理第七讲(除法-原码恢复余数法)(科大罗克露)(7页珍藏版)》请在人人文库网上搜索。

1、计算机组成原理第七讲(除法-原码恢复余数法)(科大罗克露)定点除法运算:若干余数与除数加减,移位。例:0.10110 0.11111-商为:0.10110 余数为:0.10110 x 2-5实现除法关键:比较余数,除数绝对值大小,以决定上商。恢复余数。1.原码恢复余数法算法:比较两数大小可用减法试探。2 X 余数 除数 =新余数 (为正,够减,商为1;为负,不够减,商为0,恢复原余数)实例:X= -0.10110 Y=0.11111 求X/Y,给出商数Q和余数R。设置寄存器:A:被除数,余数 B:除数 C:商初值: A=|X|=00.10110;B=|Y|=00.11111;-B=11.000。

2、01;C=|Q|=0.00000分步运算过程:步骤 判断条件 操作 A=00.10110(看作余数r0) C=0.00000(Cn=0最末位)符号位SA - 01.01100 A= 乘2r0(左移一位)A=01.011001 -B + 11.000010 r1 = 00.01101 (符号位为0,表示够减,商为1) C=0.00001-Q12 - 00.11010 A=乘2r1(左移一位) A=00.11010-B +11.00001 1 r2 = 11.11011 (符号位1,表示不够减,商为0) C=0.00010-Q23. +B + 00.11111 (不够减,恢复余数)恢复余数 r2 。

3、= 00.11010 4 - 01.10100 A=乘2r2 (左移一位) A=00.11010 -B +11.000010 r3 = 00.10101 (符号位为0,表示够减,商为1) C=0.00101-Q35. - 01.01010 A=乘2r3 (左移一位) A=01.01010-B + 11.000010 r4 = 00.01011 (符号位为0,表示够减,商为1) C=0.01011-Q46 - 00.10110 A=乘2r4 (左移一位) A=00.10110-B + 11.000011 r5 = 11.10111 (符号位为1,表示不够减,商为0) C=0.10110-Q57 。

4、+B 00.11111 恢复余数 r6 = 00.10110 Q=-0.10110 R= 0.10110 x 2-5;(余数同被除数符号)X/Y = -0.10110 + 0.10110 x 2-5/0.11111结果X/Y就等于商Q加上余数R再除以除数Y;运算规则说明:1.A,B双符号位,X,Y绝对值,|X|小于|Y|。2.运算结束后,余数乘以2-n,余数与被除数同号。注解:这个算法是有缺陷的,不够减,就要恢复余数,需要改进。用原码不恢复余数法。2.原码不恢复余数法(加减交替法)1算法分析:看上例:原码恢复余数法 总结:不恢复余数第二步:2r1 - B = r2 0; 第二步:2r1 - B。

5、 = r2 0; 第三步:r2 + B =r2(恢复余数) 第三步:2r2 + B = r3 /直接把r2左移一位加B第四步:2r2 - B=r32r2 - B=2(r2 + B)- B =2r2 + B = r3算法表达式:ri + 1 = 2ri + (1 - 2Qi) Y ri为正,则Qi为1,第i+1步作2ri - Y;ri为负,则Qi为0,第i+1步作2ri + Y; 实例:X=0.10110, Y=-0.11111 求X/Y,给出商数Q和余数R。设置寄存器:A:被除数,余数 B:除数 C:商初值: A=|X|=00.10110;B=|Y|=00.11111;-B=11.00001;。

6、C=|Q|=0.00000分步运算过程:步骤 判断条件 操作 A=00.10110(看作余数r0) C=0.00000(Cn=0最末位)符号位SA - 01.01100 A= 乘2r0(左移一位)A=01.011001 -B + 11.000010(为正) r1 = 00.01101 (符号位为0,表示够减,商为1) C=0.00001-Q12 - 00.11010 A=乘2r1(左移一位) A=00.11010-B +11.00001 1 (为负) r2 = 11.11011 (符号位1,表示不够减,商为0) C=0.00010-Q23. - 11.10110 A=乘2r2 (左移一位) A。

7、=11.10110 +B + 00.11111 0(为正) r3 = 00.10101 (符号位为0,表示够减,商为1) C=0.00101-Q34. - 01.01010 A=乘2r3 (左移一位) A=01.01010-B + 11.000010 (为正) r4 = 00.01011 (符号位为0,表示够减,商为1) C=0.01011-Q45 - 00.10110 A=乘2r4 (左移一位) A=00.10110-B + 11.000011(为负) r5 = 11.10111 (符号位为1,表示不够减,商为0) C=0.10110-Q6 +B 00.11111 恢复余数 r6 = 00.。

8、10110 Q=-0.10110 R= 0.10110 x 2-5;(余数同除数符号)X/Y = -0.10110 + 0.10110 x 2-5/-0.11111结果X/Y就等于商Q加上余数R再除以除数Y;运算规则说明:1.A,B双符号位,X,Y绝对值,|X|Y|。2.根据余数的正负决定商值及下一步操作。3.求n位商,作n步操作;若第n步余数为负,则第n+1步恢复余数,不移位。3.补码不恢复余数法(加减交替法)问题:1.如何判断是否够减法?如何上商?如何确定商的符号?1.判断够减:(1)同号相除。用绝对值相减(用1表示够减,用0表示不够减) 够减: r与X,Y同号。用绝对值相减(用1表示够减,用0表示不够减)不够减: r与X,Y异号。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值