注意两点:
1)小数定点除法对被除数和除数有一定的约束,必须满足: 0 < ∣ 被 除 数 ∣ < ∣ 除 数 ∣ 0<|被除数|<|除数| 0<∣被除数∣<∣除数∣
2) 考研中定点纯小数除法的讨论前提:被除数、除数、商都是绝对值小于1的定点小数
原码恢复余数法
具有n位尾数的合法除法,需要逻辑移位n次,上商n+1次
算法步骤:
- 符号位单独处理,分别取除数和被除数绝对值进行运算(和原码两位乘一样,参与运算的是绝对值的补码)
- 若余数(被除数)为正,表示够减,商上1,左移一位,减去 [ y ] 补 [y]_补 [y]补;若余数(被除数)为负,表示不够减,商上0,恢复余数(加上除数),左移一位,加上 [ − y ] 补 [-y]_补 [−y]补
- 重复上一步骤n次(需设置一个计数器)
- 若最后一步余数为负,需要恢复余数,否则不需要
原码不恢复余数法(加减交替法)
与恢复余数法的区别:
若余数(被除数)为负,表示不够减,商上0,恢复余数(加上除数) ,左移一位,加上[-y]_补 , 加上
[
y
]
补
[y]_补
[y]补
补码不恢复余数法
对于小数补码运算,商等于“-1”是被允许的。
n位小数补码除法共上商n+1次,移位n次,和原码除法一样。
运算规则:
注意,使用此运算规则,需要修正商符,末位恒置1,加上
1
+
2
−
n
1+2^{-n}
1+2−n,具体见下例