- 1、本文档共3页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
一般工业技术
· 56 · 人类工效学 2011年06月第 17卷第2期
文章编号:1006—8309(2011)02-0056-03
基于字符串表示的大整数加法运算的算法研究
王洪海 ,郑诚
(1.安徽大学计算机科学与技术学院,合肥 230039;
2.安徽三联学院信息与通信技术系,合肥 230601)
摘要:本文就计算机在进行大整数加法运算过程中,由于机器自身硬件条件的限制而导致数据精度的丢失等
问题 ,提出以字符串来存储数据并加以处理的一种方法,并给出了以VisualFoxPro6.0为语言基础的完整程序
描述。
关键词:大整数;加法;字符串;存储;程序
中图分类号:TP311.1;TP399 文献标识码:A
1 引言 (5)当2个串中数字字符都被取完时,执行
在很多领域,如密码系统、科学和工程计算 (9)步;
等应用中,对于数据精度的需求是非常高的。例 (6)从右向左,取下未结束串中剩余的一个
如在密码系统中,操作数的长度通常是几百位甚 数字字符并转换成数字;
至是上千位,而直接实现如此大规模数据间的运 (7)与前一次求和时的进位累加,如果结果
算是不可能的,因此,研究大整数的加法运算对 低于 10,则直接将结果转换成单个数字字符 Cj
于大整数参与的其他运算具有重要的借鉴意义。 并连接在新串中,将进位 D修改为0;否则先将结
数据是计算机处理的对象,在计算机进行数 果减去 10后转换成单个数字字符cj并连接在新
据处理的过程中,由于计算机处理器位宽、内存 串中,再将进位 D修改为 1;
空间等条件的限制,一般情况下,计算机只能处 (8)回到(5)步执行;
理有限精度的十进制整数加减法。如果需要进 (9)结束。
行更大范围的十进制整数加减法运算 ,则需要使 2.2 图示
用特殊的方式实现,比如使用字符串保存操作数
和结果,采取逐位加运算的方式。
2 方法
2.1 过程
(1)计算机在进行加运算前,先将采样到的2 CP…C
个大整数逐位 以字符串形式保存 。其 中,M、N、
P、i、j均为整数,并且 P≥max(M,N),j≥i;
(2)从2个串的尾部向串的首部方向,各取
一 个数字字符并转换成相应的数字 C1i和C2i; 图 1
(3)将 C1i和C2i以及上一次和的进位数D加在 2.3 程序
一 起,如果结果低于 lO,则直接将结果转换成单 数据采样
个数字字符ci并连接在新串中,将进位 Di+1修 L1=len(a)数据 1的长度
改为0;否则先将结果减去l0后转换成单个数字 I2=len(b)数据 1的长度
字符 ci并连接在新串中,再将进位D修改为 1; c=””结果串的初始化
(4)回到 (2)步执行,直到至少有一个串中数 ifL1=21 如果串 1长串2短
字字符被取完; x3=0
d0whileI22 =0
作者简介:王洪海 (1975一 ),男,安徽合肥人,讲师,硕士研究生,研究方向:数据仓库与数据挖掘,(电话)0551—
3830796(电子信箱)sanlian_whh@163.corn
人类工效学 2011年06月第 17卷第2期
文档评论(0)