- 5
- 0
- 约1.19万字
- 约 12页
- 2016-09-20 发布于河南
- 举报
大整数乘法问题
2.4 大整数乘法问题
算法设计思想:
(1) 大整数的存储
我们知道,在编译系统中,整型数据类型的最大存储空间为8字节,也就是最大能存储232的数据。即使使用双精度浮点数据类型(double),也只能存储最大1.798×10308的数据。如果需要计算10200数量级的整数的乘法,利用的现有的数据类型就无法实现了。所以,为了实现大整数的乘法,需要自己定义一种数据类型,以及对应的基本运算。
在该算法中,为了调试和处理方便,我们采用静态整型数组来存放大整数,即用数组的每一个元素存放大整数一位上的数字。然后,分别定义用数组存放的大整数的加法、减法和移位运算。这样,我们就可以用定义的大整数进行后面分治乘法的运算。
(2) 分治思想
将位数是2的次幂的n位的十进制大整数X和Y各分为2段,每段的长为n/2位。则有,X=A×10n/2+B ,Y=C×10n/2+D。这样,乘积问题变为这样的分治问题:
XY=(A×10n/2+B)(C×10n/2+D)=AC×10n+(AD+CB)×10n/2+BD ①
如果按①式计算XY,我们可得时间复杂度T(n)=O(n2)(详细论证在课本上)。显然,用①式来计算X和Y的乘积并不比乘法竖式更有效。为了改进算法的计算复杂性,我们把XY写成另一种形式:
XY=AC×10n+[(A-B)(D-C)+AC+BD]×10n/2+BD??
您可能关注的文档
最近下载
- 装饰装修工程施工方案.docx VIP
- 深蓝SL2619-MO9 低温模块空气源热泵控制器规格书 (SL108S)标准版本-V2.1.1.doc VIP
- 药剂科药品档案建立与管理手册.docx VIP
- 太平洋证券-AI投研应用系列之四:OpenClaw投研实践——从部署到应用.pdf VIP
- 第三章 自然语言的处理.ppt VIP
- 04D701-3 电缆桥架安装国标 建筑图集 汇编 .docx VIP
- 【PPT课件】2025版煤矿安全规程-电气解读.pptx VIP
- 环境保护与生态文明建设的理论与实践试题.docx VIP
- 2025年5月深圳市福田区九年级二模【语文试卷+答案】.pdf VIP
- X射线光电子能谱(XPS).pptx VIP
原创力文档

文档评论(0)