第5讲定点除法
5第五讲定点除法器

20
2 不恢复余数阵列除法器
21
二 定点运算器的组成
1. 2.
3.
4. 5.
基本构成 算术逻辑运算单元 数据缓冲寄存器 通用寄存器 多路寄存器 数据总线
22
1 逻辑运算
逻辑非运算 eg1: x=011001,求逻辑非 逻辑加运算 eg2: x=011001,y=110101,求逻辑加 逻辑乘运算 eg3: x=011001,y=110101,求逻辑乘 逻辑异或运算 eg4: x=011001,y=110101,求逻辑异或
X0X1X2X3Cn Cn+4=G+P Cn
28
74181ALU电路逻辑图
29
74181ALU相关讨论
1.
当M=0时,M对进位信号没有任何影
响。因此M=0时,进行算术操作。
2.
当M=1时,封锁了各位的进位输出,即
C =0,因此各位的运算结果F 仅与Y 和 X 有关,故M=1时,进行逻辑操作。
30
则第n+1步恢复余数,不移位。
16
二 并行除法器
与阵列乘法器相似,阵列除法器也是一种
并行运算部件。
阵列除法器有多种形式,如不恢复余数阵
列除法器、补码阵列除法器等等。
17
1 可控加法/减法(CAS)单元
Si=Ai⊕(Bi⊕P)⊕Ci Ci+1=(Ai+Ci)· (Bi⊕P)+AiCi
18
原码除法实例
11
2 原码不恢复余数法(加减交替法)
算法分析
第二步:2r1-B=r2’<0
第二步:2r1-B=r2’<0 第三步:r2’+B=r2(恢复余数) 第三步:2r2’+B=r3 (不恢复余数) 第四步:2r2-B=r3 2r2-B=2(r2’+B)-B =2r2’+B=r3
苏科版三(下)奥数教案第5讲~简单除法竖式

三(下)奥数第5讲~简单除法竖式例1:补全下面的竖式:
.......................□×8=5□..................7×□=3□板书:
1.梳理计算
2.能填的先填了
3.拆式
练习1:补全下面的竖式:例2:补全下面的竖式:练习2:补全下面的竖式:
第三部分:黄金倒三角你能确定哪些方框填什么?
例3:补全下面的竖式:
板书:
黄金倒三角
练习3:补全下面的竖式:
例4:补全下面的竖式:
百×除数
................................□×□□
..............................□×□□
............................□×□□
板书:
余数小于除数
练习4:补全下面的竖式:
自我挑战!
1:补全下面的竖式:
2:补全下面的竖式:
3:补全下面的竖式:
4:补全下面的竖式:
温故而知新!
1:在图中的□内填入合适的数字,使除法竖式成立。
2:在图中的□内填入合适的数字,使除法竖式成立。
3:在图中的□内填入合适的数字,使除法竖式成立。
4:在图中的□内填入合适的数字,使除法竖式成立。
5:在图中的□内填入合适的数字,使除法竖式成立。
3.3 定点数的除法

理原成组河南科技大学计算机定点数的除法运算3.3定点数的乘法运算明德笃行博学日新◆定点原码一位除法1)原码恢复余数法2)原码不恢复余数法◆定点补码一位除法博学日新明德笃行原码一位除法1. 运算法则假设被除数[X]原=X s X 1X 2……X n-1X n ,除数[Y]原=Y s Y 1Y 2…Y n-1Y n 商[Q]原=Q s Q 1Q 2……Q n ,则有[Q]原= (X s ⊕Y s ).(|X|×|Y|)即商的符号位等于两数符号位的异或,商的数值部分等于两数绝对值相除。
博学日新明德笃行原码一位除法0.1 0 1 10.11010.0 1 1 0 10.0 0 1 1 0 10.0 1 0 0 1 0.0 0 0 1 0 10.0 0 0 0 0 0 00.0 0 0 0 0 1 1 1…商Q S =X S ⊕Y S =0⊕0=0 X/Y=0.1101 …被除数 X(R 0) …部分余数R 1 …部分余数R 2…余数R 40 . 1 1 0 1 0 0 0 0 2-1Y,除数右移1位,减 2-2Y,除数右移1位,减 2-4Y,除数右移2位,减 2-3Y,除数右移1位,不减 0.0 0 0 1 0 1 0 0.0 0 0 0 1 1 0 1 …部分余数R 3商符单独处理 心算上商(比较大小)?? ? 余数不动低位补“0”减右移一位的除数上商位置不固定1)被除数(绝对值)减去除数(绝对值);2)判别余数正负:若为正数,上商1;若为负数,上商0,然后恢复余数+[|Y|]补;3)余数和商共同左移一位。
4)重复上述过程(左移n次,上商n+1次)。
说明:1)计算机内的运算过程仍用补码。
2)在原码一位乘中通常有以下约定:●小数定点除法 |x| < |y|,整数定点除法 |x| > |y| (避免商溢出)被除数不等于 0,除数不能为 0解:[|X|]原=00.1001,[|Y|]原= [|Y|]补=00.1011 ,[-|Y|]补=11.01010 0 . 1 0 0 1 + 1 1 . 0 1 0 1 X 减Y 1 1 . 1 1 1 0 + 0 0 . 1 0 1 0 余数R 0<0,商0 0恢复余数 0 0 . 1 0 0 1 ← 0 1 . 0 0 1 0 + 1 1 . 0 1 0 1 0 0 . 0 1 1 1 ←0 0 . 1 1 1 0 + 1 1 . 0 1 0 10 0 . 0 0 1 1 ←0 0 . 0 1 1 0 + 1 1 . 0 1 0 1R 0’商0移入Q ,R 0’左移 减Y余数R 1>0,商1 0.1商1移入Q ,R 1’左移 减Y余数R 2>0,商1商1移入Q ,R 2’左移 0.1 1减Y[-|Y|]补[|Y|]补[-|Y|]补[-|Y|]补[-|Y|]补0 0 . 1 0 1 0 + 1 1 . 1 0 1 10 0 . 0 1 1 0 ←0 0 . 1 1 0 0 + 0 0 . 1 1 0 0 0 0 . 0 0 0 1 0 0 . 0 0 0 1←余数R 3<0,商0 恢复余数R 3’=2R 2商 0 移入Q ,R 3’左移 减Y余数R 4>0,商1 商 1 移入Q ,R 4不左移0.1 1 00.1 1 0 1[-|Y|]补[|Y|]补[|Q|]原=0.1101 余数[R]原=0.0001Qs=XS ⊕YS=0⊕0=0R=2-4×0.0001博学日新明德笃行原码恢复余数法(1)某一次-Y 的差值为负时,要多一次+Y 恢复余数的操作,降低了执行速度。
定点数除法运算

用异或门实现 可控取反: y0=y y1=y 11
0 1 0
0
y1
x1 y2
∑
x2
y3
x3
∑
∑
∑
x4
∑
∑
∑
∑
x5
∑
∑
∑
∑
x6
∑
∑
∑
∑
q0 = 0
q1
q2
q3
r3
r4
r5
r6
12
4.4.2 补码除法运算
补码不恢复余数除法的运算规则: 1.被除数与除数同号,则被除数减去除数;被除数与 除数异号,则被除数加上除数。 2.若所得余数与除数同号,则上商1,余数左移一位减 去除数;若所得余数与除数异号,则上商0,余数左移 一位加上除数。 3.重复第2步,若采用末位恒置1法,则共做n次(n为 除数补码包括符号位的位数)。 4.商的符号位与数值位均在运算中产生。
原码加减交替法的运算规则可归纳如下:
1)若余数≥0,上商“1”,余数左移一位,减除数; 2)若余数<0,上商“0”,余数左移一位,加除数。
5
例:已知被除数X=-0.10001011,除数Y=+0.1110, 用加减交替法求商。 解:
商符=10=1 除数的相反数: [- Y]补 =11.0010
商 操作 X,Y异号 +[Y]补 1 R1与Y同号,商1
←1
+[-Y]补 0 R2与Y异号,商0
←1
+[Y3;[-Y]补 1 R3与Y同号,商1
←1
∴[商]补=1.0111
R = -0.1101×2-4
1 未位恒置1
作业
定点除法

[y]补=0.1011 [-y]补=1.0101 解:[x]补=[x]补=0.1001 被除数x/余数 余数r 商数q 被除数 余数 商数 0 0.1 0 0 1 +[-y]补 1 1.0 1 0 1 1 1.1 1 1 0 +[y]补 0 0.1 0 1 1 0 0.1 0 0 1 0 ← 0 1.0 0 1 0 +[-y]补 1 1.0 1 0 1 0 0.0 1 1 1 0.1 ← 0 0.1 1 1 0 +[-y]补 1 1.0 1 0 1 0 0.0 0 1 1 0.11 ← 0 0.0 1 1 0 +[-y]补 1 1.0 1 0 1
2.4定点除法运算 定点除法运算
2.4.1 原码除法算法原理 两个原码表示的数相除时,商的符号由两数的符号按位相加求 两个原码表示的数相除时 商的符号由两数的符号按位相加求 商的数值部分由两数的数值部分相除求得。 得,商的数值部分由两数的数值部分相除求得。 商的数值部分由两数的数值部分相除求得 设有 被除数x,其原码为 [x]原=xf .xn-1…x1x0 其原码为 [y]原=yf .yn-1…y1y0 除数y,其原码为 其原码为 则有商q 则有商 =x/y,其原码为 其原码为 [q]原=(xf⊕yf)+(0.xn-1…x1x0/0.yn-1…y1 y 0) 商的符号运算q 与原码乘法一样,用模 求和得到。 用模2求和得到 商的符号运算 f=xf⊕yf与原码乘法一样 用模 求和得到。 商的数值部分的运算,实质上是两个正数求商的运算 实质上是两个正数求商的运算。 商的数值部分的运算 实质上是两个正数求商的运算。根据我们 所熟知的十进制除法运算方法,很容易得到二进制数的除法运算 所熟知的十进制除法运算方法 很容易得到二进制数的除法运算 方法,所不同的只是在二进制中 商的每一位不是“ 就是 所不同的只是在二进制中,商的每一位不是 就是“ 其 方法 所不同的只是在二进制中 商的每一位不是“1”就是“0”,其 运算法则更简单一些。 运算法则更简单一些。
定点除法

被除数x/余数r
商数q
0 0.1 0 0 1
1
+[-y]补 1 1.0 1 0 1 1 1.1 1 1 0
1 1.1 1 0 0
10
+[y]补 0 0.1 0 1 1 0 0.0 1 1 1
0 0.1 1 1 0
101
+[-y]补 1 1.0 1 0 1
0 0.0 0 1 1
0 0.0 1 1 0
设被除数x=0.1001,除数y=0.1011,模仿十进制除法运算, 以手算方法求x÷y的过程如下:
0.1 1 0 1
商q
0.1 0 1 1 ∕ 0.1 0 0 1 0 -0.0 1 0 1 1 0.0 0 1 1 1 0 -0.0 0 1 0 1 1 0.0 0 0 0 1 1 0 -0.0 0 0 1 0 1 1 0.0 0 0 0 1 1 0 0 -0.0 0 0 0 1 0 1 1
(2.40)
当 P=0时,方程式(2.40)就是我们熟悉的一位全加器(FA)
的公式:
Si=Ai⊕ Bi⊕ Ci
Ci+1=AiBi+BiCi+AiCi
当 P=1时。则得求差公式:
Si=Ai⊕ Bi⊕ Ci
Ci+1=AiBi +BiCi + AiCi (2.41) 其中 Bi=Bi ⊕ 1.
在减法情况下,输入Ci称为借位输入,而Ci+1称为借位输出. 为说明CAS单元的实际内部电路实现,将方程式(2.40)加以变换,
0.11
+[-y]补 1 1.0 1 0 1
1 1.1 0 1 1
1 1. 0 1 1 0
0.110
+[y]补 0 0.1 0 1 1
定点乘除法运算

例3.35:设X=-0.1101,Y=0.1011,即[X]补=11.0011,[Y]补=0.1011 ,[-X]=00.1101 求 设 即 补 补 [X•Y]补. 补 部分积 乘数Y Yi Yi+1 说明 计算过程如下: 计算过程如下
+ 00 0000 00 1101 00 1101 → + 00 0110 00 0000 00 0110 → + 00 0011 11 0011 11 0110 → + 11 1011 00 1101 00 1000 → + 00 0100 11 0011 11 0111 0 0 0 1 0 0 0 1 0 1 右移一位 Y1Y0=10 +[X]补 0 0 1 0 1 0 右移一位 Y2Y1=01 +[-X]补 0 1 0 1 0 1 右移一位 Y3Y2=10 +[X]补 1 0 1 0 1 1 右移一位 Y4Y3=11 +0 0. 1 0 1 1 0 初始值,最后一位补0 Y5Y4=01 +[-X]补
2.硬件快速乘法器实现 硬件快速乘法器实现
利用中大规模集成电路芯片, 利用中大规模集成电路芯片,在一拍节中实现多项 部分积的相加,成为阵列乘法器。 部分积的相加,成为阵列乘法器。
3.3.1 定点数一位乘法 1. 定点原码一位乘
规则:在机器中采用 寄存器来分别存放部分积, 规则 在机器中采用A,B,C寄存器来分别存放部分积,被乘 在机器中采用 寄存器来分别存放部分积 数和乘数 (1)在机器内一次加法操作只能求出两数之和,因此 )在机器内一次加法操作只能求出两数之和, 每求得一个相加数时,就得与上次部分积相加。 每求得一个相加数时,就得与上次部分积相加。 (2)人工计算时,相加数逐次向左偏移一位,由于最 )人工计算时,相加数逐次向左偏移一位, 后的乘积位数是乘数(或被乘数)的两倍.由于在求本 后的乘积位数是乘数(或被乘数)的两倍 由于在求本 次部分积时,前一次部分积的最低位,不再参与运算, 次部分积时,前一次部分积的最低位,不再参与运算, 因此可将其右移一位。相加数可直送而不必偏移, 因此可将其右移一位。相加数可直送而不必偏移,于是 位加法器就可实现两个N位数相乘 用N位加法器就可实现两个 位数相乘。 位加法器就可实现两个 位数相乘。 (3)部分积右移时乘数寄存器同时右移一位,这样可 )部分积右移时乘数寄存器同时右移一位, 以用乘数寄存器的最低位来控制相加数( 以用乘数寄存器的最低位来控制相加数(取被乘数或 ),同时乘数寄存器的最高位可接收部分积右移出来 零),同时乘数寄存器的最高位可接收部分积右移出来 的一位,因此,完成乘法运算后, 寄存器中保存乘积 的一位,因此,完成乘法运算后,A寄存器中保存乘积 的高位部分,乘数寄存器C中保存乘积的低位部分 中保存乘积的低位部分。 的高位部分,乘数寄存器 中保存乘积的低位部分。
14定点除法运算

若A01=B0,[A]补+[-B] 补=[R0] 补=,必有01B0(余数与 除数异号),故商为正(商上0) 若A01B0 ,[A]补+[B] 补=[R0] 补=,必有01=B0 (余数与 除数同号) ,故商为负(商上1)
2009-10-4
24
3.4.2、补码一位除法
4) 恢复余数
作完最后一步除法后
除法除尽时,判0逻辑判出全0(∑),将A置成全0
除法除不尽时,判0逻辑标志不是全0
若C0=0(被除数与除数同号),且余数与除数异号,说明 是假余数(由于作减法造成) ,应作[Rn]补+[B]补其结果送 回A,以恢复余数
Ri+1 = 2(Ri + |B|) - |B| 将上式变换一下,得:
Ri+1 = 2 Ri + |B|
视Ri为真余数,左 移一位再加|B|就可
得到新余数Ri+1
2009-10-4
10
3.4.1、原码一位除法
加法交替法
若Ri>0,得到下步除法的新余数Ri+1: Ri+1 = 2Ri - |B|
若Ri<0,要得到下步除法的新余数Ri+1,不必恢复 余数,只要将Ri视为真余数,左移一位,再加上 |B|就得到新余数Ri+1: Ri+1 = 2Ri + |B|
5) 修正商
①若除数为正(B0=0)
除尽那步除法所得余数[Ri]补=0,其符号位为正(故 A01=B0),故除尽步商为1,由于:
[Ri+1]补=2[Ri]补+[-B]补=[-B]补 [Ri+1]补与除数异号,商上0。下一步除法余数:
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
i—1→i
N i=0? Y
末位商qn←1 结束
[例2] X=+0.0100,Y=-0.1000, 用补码加减交替法计算X÷Y 解: [X]补= 0.0100
10
无符号数不恢复余数 除法算法流程图
Y
开始 计数器i=0 X-Y→ R N
Ri <0? 商上0, Ri左移一位, 2 Ri+Y→Ri+1 除数、被除数符合规定 允许进行除法运算。 符号位单独运算。图中 的X和Y实际是|X|和|Y|。 第一位商是小数点左边的0 总共求出N+1位商 i+1→i
N Y N
商上1, Ri左移一位, 2 Ri-Y→Ri+1
i=n? Rn <0? 商1
结束 Y
商0 RnБайду номын сангаас+Y
[例1] X= -0.1001 ,Y=+0.1011,用原码不恢复余数法计算X÷Y 解: [X]原=1.1001 |X|=0.1001 商的符号位 [Y]原=0.1011 |Y|=0.1011 [-|Y|]补= - 1.0101
Q0 = X 0 ⊕ Y0 = 1 ⊕ 0 = 1
12
被除数/余数
商
0. 1 0 0 1 0000 0 减Y用加-|Y|的补码实现 减|Y| +) 1. 0 1 0 1 余数为负,商上0 1. 1 1 1 0 0000 0 左移 1. 1 1 0 0 0000 加|Y| +) 0. 1 0 1 1 余数为正,商上1 0000 1 0. 0 1 1 1 左移 0. 1 1 1 0 0001 减|Y| +) 1. 0 1 0 1 余数为正,商上1 0. 0 0 1 1 0001 1 左移 0. 0 1 1 0 0011 减|Y| +) 1. 0 1 0 1 余数为负,商上0 1. 1 0 1 1 0011 0 左移 1. 0 1 1 0 0110 加|Y| +) 0. 1 0 1 1 余数为正,商上1 0. 0 0 0 1 0110 1 |X÷Y|=0.1101 [X÷Y]原=1.1101, X÷Y=-0.1101 余数 |R| =0.0001*2-4, R=-0.00000001
15
补码加减交替除法算法 流程图(末位商恒置1)
Y
末位商恒置1法
计数器i=N
N X0=Y0?
[X] 补 +[-Y] 补 →[R0]
补
[X]补+[Y]补→[R0]补
N
Y R0= Y0?
商上1, 1, [Ri]补左移一位, 2[Ri]补+[-Y]补→[Ri+1]
补
商上0, 0, [Ri]补左移一位, 2[Ri]补+[Y]补→[Ri+1]补
7
2. 恢复余数法
Restoring division
直接从被除数/余数中减去除数,若够减,余数为正,上商1; 若不够减,余数为负,上商0。此时,必须将除数加回去,恢复 成原来的余数,以便继续计算,因此称为恢复余数法。 恢复余数法在不够减时要恢复余数,多做一次加法操作,运 算速度因而受到影响,控制线路复杂,运算不规则,运算时间与 数据有关。 在计算机中实际采用的是不恢复余数法Non-restoring division 。
6
原码除法运算
Unsigned Binary Division
原码除法,商的符号位是除数和被除数的符号位的异或值, 原码除法,商的符号位是除数和被除数的符号位的异或值, 商的值是用被除数的绝对值除以除数的绝对值得出的。 商的值是用被除数的绝对值除以除数的绝对值得出的。 计算机不能象人那样用观察的方法决定是上商0还是上商1。 1. 比较法 用汇编语言编写除法运算程序,可以用比较指令比较除数和被 除数(余数)的大小,以决定是上商0还是上商1,这就是比较法。 计算机的比较指令实质上也是做减法,但摒弃减法的结果, 不改变被减数,只影响状态标志寄存器的Cy(进位/借位),S (符号),Z(零)等标志位的状态。 若Cy=1,表明有借位,被除数小于除数,应当上商 ,不做 ,表明有借位,被除数小于除数,应当上商0, 被除数/余数减除数 只把被除数/余数左移一位 反之,上商1, 余数减除数, 余数左移一位。 被除数 余数减除数,只把被除数 余数左移一位。反之,上商 , 做被除数/余数减除数 并把余数左移一位。 余数减除数, 做被除数 余数减除数,并把余数左移一位。 比较法要多做一次比较,降低了速度。
4
手工计算二进制除法的方法 商0.1 1 0 1 1 除数 0.1101 0.1011 被除数 01101 先判断被除数与除数的大小 若被除数小,则上商0,并 把被除数的下一位(若存 在)移下来;或在余数最 低位补0,再用余数与右移 一位的除数比较,若够除 则上商1,否则上商0。 然后继续重复以上步骤, 直至除尽(余数为0)或求 得的商的位数满足要求为 止。
计算机组成原理
Principles of Computer Organization
广义双语教学课程 青岛理工大学 校级精品课程 http://211.64.192.109/skyclass25/ /ec/C84/
第6章 计算机的运算方法 章
(4)
Several algorithms exist to perform division in digital designs. These algorithms fall into two main categories: slow division and fast division. Slow division algorithms produce one digit of the final quotient per iteration. Examples of slow division include restoring, non-performing restoring, non-restoring, and SRT division. Fast division methods start with a close approximation to the final quotient and produce twice as many digits of the final quotient on each iteration. Newton-Raphson and Goldschmidt fall into this category.
2
§ 6. 3. 4 除法运算
Binary (Fixed-Point) Division Arithmetic
Unsigned Binary Division Tow’s complement Division
原码除法 补码除法
3
计算机的除法运算对除数和被除数的大小有限制。 首先,除数不能为零。其次,定点除法运算可能会发生溢出。 •对于定点小数,若被除数大于或等于除数,则商将大于或等于1, 发生溢出。 所以,小数除法要求 0<|被除数 除数 。 被除数|<|除数 小数除法要求 被除数 除数|。 •对于定点整数,商也应是整数。要求 0<|除数|≤|被除数|。 计算机在做除法之前,必须先检查除数和被除数是否为零。若 除数为零,则转出错处理。若被除数为零,则直接得出商为零。 若除数和被除数都不为零,则判断是否可能发生溢出。 若除数是n位,则得到n位的商Quotient和n位的余数Remainder。 整数除法若被除数Dividend只有n位,是不会发生溢出的。但 是,若被除数为2n位,则被除数的高n位的绝对值必须小于除数 Divisor的绝对值,否则,将发生溢出。 小数除法, 被除数|<|除数 小数除法,只要满足 |被除数 除数 就不会溢出。 被除数 除数| 就不会溢出。
部分余数 010010 01101 Partial Remainder 0010100 01101 001110 01101
5
计算机实现除法时,要把除数右移改为被除数 余数左移 要把除数右移改为被除数/余数左移 要把除数右移改为被除数 余数左移。 要求计算机把求得的商直接写进商寄存器的每个对应位也是 不可取的,通常是把商上到商寄存器的最低位,并把部分商左移 通常是把商上到商寄存器的最低位, 通常是把商上到商寄存器的最低位 一位。 一位 运算过程中,存放被除数/余数和商的寄存器一同移位。计算 计算 完成后,商寄存器中是商的尾数, 完成后,商寄存器中是商的尾数,原来存放被除数的寄存器中是 余数。 余数 做减法时,对于n位的除数,也不要求2n位的加法器,只需 用n位的加法器即可。
14
当[X]补与[Y]补同号时,[X]补—[Y]补肯定不够减,余数[R]补 与除数[Y]补异号,上商0,符合同号相除为正的规则。 当[X]补与[Y]补异号时,[R]补与[Y]补同号,应上商1,也符合异 号相除为负的规则。 当商为正时,上商规则与原码除法相同:余数与除数同号表 明够减,上商1;余数与除数异号表明不够减,上商0。 当商为负时,余数与除数异号表明够减,应上商0而非上商1; 余数与除数同号表明不够减,应上商1而非上商0。即在上商时, 负商的每位商的值与真值相反,实际上是反码。而补码和反码的 区别仅在最低数值位差1(即2-n)。这就需要对负商进行修正, 以得到补码形式的商。 在对商的精度要求不高时,可采用“末位商恒置 末位商恒置1”法,即包 末位商恒置 括符号位在内只求n位的商,第n+1位则恒置1。“末位商恒置1” 法的操作简单,易于实现,其最大误差是 |2-n|。
8
3. 加减交替法(不恢复余数法Non-restoring division ) 加减交替法(不恢复余数法 不恢复余数法的思想是当某一次减法的差为负时,不是把 它恢复成原来的值,而是设法直接用这个负的差值求下一位商。 设上次余数为R 设上次余数为 i。 •当Ri ≥0时, 商上 , 继续求下次余数; 商上1, 继续求下次余数; 当 时 将余数左移一位得2 再减除数, 将余数左移一位得 Ri , 再减除数, 即 2 Ri-Y=Ri+1。 = + •当Ri <0时, 商上 。 此时若恢复余数, 应做 i+Y, 商上0。 此时若恢复余数, 应做R 当 时 , 然后将余数左移一位(成为2 然后将余数左移一位(成为 Ri+2Y), ), 再减除数, 再减除数, 即2 Ri+2Y-Y = 2 Ri+Y=Ri+1 - = + 而将余数R 左移一位成为2 显然,若不恢复余数,而将余数 i左移一位成为 Ri,再加除数, 结果与恢复余数法一样。但却把加Y、左移、 结果与恢复余数法一样。但却把加 、左移、减Y三个步骤简化 三个步骤简化 成左移、 两个步骤。 成左移、加Y两个步骤。 两个步骤