计组之数据运算:7、定点数原码除法运算(恢复余数法、加减交替法)
思维导图
原码恢复余数法
先看一下十进制除法的原理
1、x / y = a …… b 等价于x = ay + b
原理实现(类比十进制)
机器实现与硬件构成
1、初始化2、结果(中间省略)
1、当数据就位后,商的最低位上1,被除数-除数的值放入ACC
2、判断正负,若为正,说明上1够减,此时ACC与MQ逻辑左移;若ACC值为负时,说明上1不够减,则将商的最低位改为0,然后将ACC与除数相加的结果放回到ACC中,然后逻辑右移
3、循环1,2操作,直到商等于除数数值位数为止。
手算实现
1、先减[y]补,余数为负,商上0,然后加[y]~补 ~,最后逻辑左移;若余数为正,直接逻辑左移。
2、循环1操作,直到次数为除数数值位数即可
缺点
总是要恢复余数,效率有点低,所以产生了加减交替法
原码加减交替法
分析
手算实现
若最后一次结果为负,任需一次恢复余数。