导航:首页 > 计算方法 > 大数计算方法

大数计算方法

发布时间:2023-08-06 17:40:38

Ⅰ 遇到略大的数该如何简便运算+举例说明

在计算机中,遇到略大的数时,通常会使用以下几种方法来简便运算:

Ⅱ 如何快捷计算大数乘法

首先,编程是最快的方法。

如果有计算器,可以将两个30 位的数自右侧起,每 7 位分割一次,
相当于把两个数转化为10000000 进制。

0000014 1592653 5897932 3846264 3383279
0000050 2884197 1693993 7510582 0974944

然后按照笔算乘法的规则,列竖式,把每个 7 位数当作一个 1 位数,
乘法和加法用前文提及的15位计算器计算。
比如最右侧一位就是 3383279*0974944 = (进位 0329850) 7561376
这样作 25 次乘法即可完成。

Ⅲ 大数乘法 用什么算法啊

大数乘法基本上是乘法竖式笔算的代码化。
基本功能有3个
1.
大数的数组表示。
2.
大数乘以小数,得到大数。
3.
大数加大数,得到大数。
对于1,其实就是int数组的每个元素存储若干位。比如每个元素保存4个十进制位。[0]存储个十百千,[1]存储万、十万、百万、千万,诸如此类。一个数组保存一个大数。因此需要一个额外的int变量记录当前数组用了多少个元素(类似于字符串长度)。
对于2,“小数”指的是能用一个int保存的数。注意这里只限4个二进制位(和1里提到的位数一致)。
比如1
2345
6789这个数字,[0]保存6789,[1]保存2345,[2]保存1。长度3。
这个大数乘以小数,比如9999,过程就是[0]
*
9999,即6789
*
9999
=
6788
3211,积的低四位(%10000)3211保存到积(大数)的[0],剩下6788的进位到[1]。
然后2345
*
9999
= 2344
7655,加上刚才进位上来的6788得到2345
4443,其中4443保存到积(大数)的[1]中,2345进位到[2]。
以此类推。
对于3,基本只要一个for,对位相加然后注意进位就行了。
大数乘以大数,其实就是第一个大数先乘以第二个大数的[0](大数乘小数,上面的2),得到一个大数a0;然后第一个大数乘以第二个大数的[1],又得到一个大数a1……最后再将a0、a1、……加起来(也就是大数加法,上面的3)。加的时候要注意,a1的[0]要和a0的[1]对齐,a2的[0]要和a1的[1]和a0的[2]对齐……这个也和我们竖式笔算一样。
ps:上面的算法基本上是“10000进制数”的计算方式。如果数组的每个元素只保存1个十进制位,那就是10进制数。之所以用10000进制,纯粹是程序员感觉上好一些。最有效的利用,是每个int保存2的15次方,也就是32768进制。要注意到,如果用10进制计算的话,程序的计算耗时会变成10000进制的16倍,也就是效率变成1/16。
ps2:用int数组的话,位数最多只能是4位。因为5位数相乘可能得到11位数,超出了int表示范围。

阅读全文

与大数计算方法相关的资料

热点内容
如何散步是正确方法 浏览:852
卡西欧相机使用方法 浏览:706
重庆学校甲醛检测的方法 浏览:973
跑工地的常用方法 浏览:492
2x13简便计算方法 浏览:363
免洗喷雾使用方法 浏览:790
双享号的使用方法 浏览:6
挥发甲醛用什么方法最好 浏览:60
鉴别纯羊毛毛线和腈纶毛线的方法 浏览:83
脑梗抢救的最佳方法 浏览:904
多层板甲醛检测方法 浏览:508
根管的预备方法有哪些 浏览:701
看花的正确方法图片 浏览:244
视频侧方30公分5种方法 浏览:543
艾弗森训练方法 浏览:686
常见的调面方法有哪些 浏览:949
win10主题储存在哪里设置方法 浏览:57
机房钢化玻璃隔断安装方法 浏览:358
研究方法学习体会 浏览:602
药物性皮炎的治疗方法 浏览:493