原码一位除法包括 恢复余数法 和 不恢复余数法(加减交替法)
恢复余数法运算规则:
余数 Ri>0 上商 “1”, Ri+1 = 2Ri – |y|
余数 Ri<0 上商 “0”, Ri + |y| 恢复余数
Ri+1 = 2( Ri+|y|) – |y| = 2Ri + |y|
不恢复余数法运算规则:
上商“1” 2Ri – |y|
上商“0” 2Ri + |y| 加减交替
原码一位除法-恢复余数法
运算规则:
①被除数(或余数)的绝对值减去除数的绝对值;
机器内部用补码的加法运算实现 +[-|Y|]补
②判别余数正负:
若为正数,上商1;
若为负数,上商0,并恢复余数; +[|Y|]补
③余数和商共同左移一位;
下次减除数,按低位对齐;
例题:
原码一位除法-不恢复余数法(加减交替法)
运算规则:
①符号位不参加运算,取双符号位;
② 用被除数减去除数:
当余数为正时,商上1,余数左移一位,再减去除数;
当余数为负时,商上0,余数左移一位,再加上除数。
③根据余数的正负,再做如上处理(上商、加减除数)
④当第n+1步余数为负时,需加上|Y|得到第n+1步正确的余 数,最后余数为Rn×2-n(余数与被除数同号)。
例题: