【组原】恢复余数法和不恢复余数法

前置知识

在了解恢复余数法,我们需要回顾一下我们除法心算的过程,当我们想要给商的某一位位置填上某个数字,可能是x,也可能是x+1,一般是因为如果填x+1的话,这个商乘上我们的除数反而会比被除数大,于是需要去填x。
于是,恢复余数法就像是知错能改的方法,他知道用x+1不合适,他把x+1恢复成x。
而不恢复余数法就像是一种将错就错的方法,他算完后知道用x+1不合适,但他还是继续用下去。

浅谈原理

约定将商的第k位设为 Q k Q_k Qk,第i轮余数设为 R i R_i Ri,除数设为X,被除数设为Y。
于是拿那两轮情况出来考虑,

恢复余数法

如果够减,那么 R i + 2 = ( R i − X ) < < 1 − X R_{i+2} = (R_i-X)<<1-X Ri+2=(RiX)<<1X
如果不够减,那么 R i + 2 = ( R i − X + X ) < < 1 − X R_{i+2} = (R_i-X+X)<<1-X Ri+2=(RiX+X)<<1X

不恢复余数法

如果够减,那么 R i + 2 = ( R i − X ) < < 1 − X R_{i+2} = (R_i-X)<<1-X Ri+2=(RiX)<<1X
如果不够减,那么 R i + 2 = ( R i − X + X ) < < 1 − X = ( R i − X ) < < 1 + X R_{i+2} = (R_i-X+X)<<1-X= (R_i-X)<<1+X Ri+2=(RiX+X)<<1X=(RiX)<<1+X
所以不恢复余数法相对于恢复余数法在不够减的情况下省去了一次运算。
注意不恢复余数法,一轮处理两次,将第一次错误的减法的恢复操作合并到第二次减法,也就是说如果要处理的数字的位数为奇数,最后一位又发生了不够减的情况,那么这个时候将会破例采取恢复操作。
在这里插入图片描述

在这里插入图片描述在这里插入图片描述
备注,原码的不恢复余数法也叫原码的加减交替法。

注意点

补码的加减交替法,同号商上1,异号商上0。

  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值