设为首页 - 加入收藏 大连站长网 (https://www.0411zz.cn)- 大型站长资讯类网站,站长百科,建站经验,电子商务,云计算!
热搜: 公开 隔空手势
当前位置: 首页 > 大数据 > 正文

【实战】C语言实现大数乘法

发布时间:2021-05-14 17:23 所属栏目:[大数据] 来源:网络整理
导读:副标题#e# 我们回忆一下,在我们小时候刚接触多位数的乘法,我们的数学老师会教给我们一个方法,那就是“乘法的竖式计算”。在这里我们就采用该思想解决大数乘法的问题。 以下是我们经常进行乘法的竖式运算: 根据以上的竖式运算,我们实现过程总结如下:

【实战】C语言实现大数乘法

我们回忆一下,在我们小时候刚接触多位数的乘法,我们的数学老师会教给我们一个方法,那就是“乘法的竖式计算”。在这里我们就采用该思想解决大数乘法的问题。

以下是我们经常进行乘法的竖式运算:

【实战】C语言实现大数乘法

根据以上的竖式运算,我们实现过程总结如下:

  • 先使用两个字符数组保存两个大数据;

  • 用第一个数据的个位与第二个数据的所有位相乘,并将每一位的运算结果保存在暂存字符数组temp中,并进行进位调整,即如果该位的数值大于9,就将该数值的十位加到前一位,并将该位的个位保存在原位。

  • 将temp与结果数组rst中的数值逆序相加,也就是从两个数组的倒数第一位开始相加。

  • 以相同的方法,计算出第一个数据的十位与第二个数据相乘的结果,并保存至temp中。

  • 将temp与rst倒数第二位的结果开始逆序相加。

  • 第一个数据有几位就将以上过程进行几次。

【注】:对于确定每次与rst的倒数第几位相加时,可以采用一个bit变量存下正在进行第一个数据的第几位数据的运算,在最终相加时,在rst数组的末尾减去bit就是,应该与temp最后一位相加的位数。

1
C语言实现过程:

【免责声明】本站内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

推荐文章