大数运算(5)——大数除法(取模、取余)

有关于大数除法的运算可以大致分为两种:一种是求商,另一种是求余数(取余)。

有两个大整数a和b,当a==b时,a/b==1,余数是0。(a!=0,b!=0)

                                     当a>b时,a/b>=1,余数需要通过计算求得。

                                     当a<b时,a/b=0,余数就是a。

而我们经常需要求的便是当a>b,这种情况我们该如何求商和余数呢?

其实基本的思想就是反复做减法,看看从被除数里最多能减去多少个除数,商就是多少。一个一个减显然太慢,如何减得更快一些呢?

以28536 除以23 为例来看一下:开始商为0。

先减去23 的1000 倍,就是23000,发现够减1 次,余下5536,于是商的值就增加1000;

然后用5536减去2300,发现够减2 次,余下936,于是商的值增加200,即1200;

再用936 减去230,够减4 次,余下16,于是商值增加40,即1240。

最后,发现余下的数比23小,即为余数,即28536 / 23 得1240余16。

这时,你会发现这其实就是咱们人工计算时相当于列的竖式。

另外,注意:我

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值