2022年大整数基本运算实现研究报告及分析.docx
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《2022年大整数基本运算实现研究报告及分析.docx》由会员分享,可在线阅读,更多相关《2022年大整数基本运算实现研究报告及分析.docx(26页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、精品学习资源课 程 设 计课程名称应用密码学题目名称 大整数基本运算的实现争论及分析同学学院应用数学专业班级信息安全 081 班学号 3108008921,3108008945,3108008944同学姓名 洪亿鹏,熊邦名,伍尚鹏指导老师李峰2021年 12 月 19日欢迎下载精品学习资源广东工业高校课程设计任务书题目名称大整数基本运算的实现争论及分析同学学院应用数学学院专业班级08 级信息安全 1)班姓 名洪亿鹏,熊邦名,伍尚鹏学 号3108008921,3108008945,3108008944一、课程设计的内容本文介绍了一种这样的大整数在程序设计语言中的表示的方法,并对这种方法表示的大整
2、数的基本运算进行了分析,给出了实现算法,并供应良好的用户界面;二、课程设计的要求与数据1. 实现大整数的基本运算;2. 供应友好的用户界面;三、课程设计应完成的工作1、查阅相关资料,明白关于 大整数基本运算的实现争论及分析 ;2、在 Visual C+6.0进行编程,设计出合乎要求的程序;3、测试程序的正确性和稳固性;4、依据 ,写出课程设计说明书;四、课程设计进程支配序设计各阶段内容地点起止日期号欢迎下载精品学习资源1领取课程设计任务课室2021.12.132组员争论选取课程设计题目课室2021.12.13图书馆,3查阅相关课题的各种资料组员直接争论课题,并且安排各部分宿舍2021.12.1
3、32021.12.144任务课室2021.12.145各自编写各部分代码宿舍2021.12.152021.12.17聚集已写好的各部分代码,并进去测6试宿舍2021.12.18代码顺当运行,运用 MFC可视化方法7为程序供应友好的用户界面宿舍2021.12.198分工合作拟写课程设计报告书宿舍2021.12.19五、应收集的资料及主要参考文献1宋震.密码学M. 北京:中国水利水电出版社. 2002:87-151.2 美Garlisle Adams Steve Lloyd 著 冯登国等译 .公开密钥基础设施概念、标准和实施M. 北京:人民邮电出版社 .2001: 71-98.3 王永祥. 超高精
4、度超大数算法与程序设计 M. 陕西:西安交通高校出版社 ,1990: 75- 105.4 胡向东,魏琴芳编著 .应用密码学 .北京:电子工业出版社, 2006.115 谭浩强, C 程序设计 第三版)北京:清华高校出版社, 20056 郑莉, C+语言程序设计 33.2 用 C+ 编写大整数类 33.3 本章小结 54 基本运算的原理和代码实现 54.1 加法运算 54.11 实现原理 54.12 代码实现 64.13 数据测试结果 84.2 减法运算 84.21 减法运算代码实现 84.22 数据测试结果 104.3 乘法运算 114.31 乘法运算原理 11欢迎下载精品学习资源4.32 乘
5、法运算代码实现 124.33 数据测试结果 144.4 除法运算 144.41 除法运算代码实现 144.42 数据测试结果 16结论 17参考文献 17附录 A17欢迎下载精品学习资源1 绪论1.1 大整数的概念“大整数”一般指位数达到十几或成百上千甚至更多的整数,而更精确地说,应当是指一般程序设计语言中的整数类型值集范畴以上的整数;如标准的C的Unsigned long型整数所能处理的整数范畴最大,有效数位也最多,为4294967295占据 32 位中的应用前景广泛;微观世界中的很多对象的活动可以进行数字化模拟,而且其活动变化也可以通过大整数的运算来表示,其表达与处理就特别便利了;1.3
6、大整数处理的争论现状由于“大整数”超出了程序设计语言本身整数类型值集范畴,所以它的表达、存 储、读取、处理 各种运算 、输出等问题用一般编程方法难以解决;一般的程序设计语言数值处理范畴均有限; C+及其系列语言的数值处理的有效数位是整型4 个字节,欢迎下载精品学习资源数值型可达到 8 个字节;新版的微软操作系统自带的“运算器”的处理才能特别强,但精确数位也只能达到 32 个十进制位;因而大整数运算处理系统的争论与开发有极强的实际意义;由于大整数处理系统的复杂性,以及其一般用于高尖新技术领域,所以系统化争论及其开发工作主要集中在一些国家级的运算中心、安全中心;但随着大整数应用领域逐步扩大及个人运
7、算机处理才能的快速进展,这项工作已经受到越来越多的科技工作者的关注;1.4 本文主要争论内容本文基于 MFC应用框架,第一采纳模块化的思想建立大整数运算库,利用数组储备不大于 310 位的大整数,在实现一些帮助函数后在此运算库框架上争论并实现多精度大整数的基本加法、减法、乘法、除法等基本算法;本文采纳C+为主要语言编写程序代码;在保证算法有足够高的效率的同时力求代码清楚易懂,函数接口简洁明了,具有可移植性和稳固性;2大整数概述2.1 本文争论的大整数特定含义为了系统地争论大整数的处理,本文提到的大整数处理程序中所指的大整数是指最大位数为 310位的大整数;采纳数组储备方式储备;2.2 大整数的
8、储备我们采纳数组储备的方式储备,也可以采纳字符串的方式储备,但最终仍是要转化为 “数组”的方式储备,并且储备的位数不能大于310位,否就会发生溢出错误而导致大整数处理错误;欢迎下载精品学习资源2.3 大整数的输入与读取假如是从键盘输入大整数,要求连续输入正负号及全部数字,程序将实现专用处理命令自动完成分组;2.4 大整数的基本运算处理本程序可以实现位数少于 310位的大整数的加,减,乘,除等运算,输出位数同样不行以大于 310位,对于负数,程序将不能处理,并且不能直接输入;3 大整数的类的开发3.1 如何表示一个大整数 123456789012345678903.2 用 C+ 编写大整数类cl
9、ass CBigIntpublic:/ 大数在 0x100000000进制下的长度欢迎下载精品学习资源unsigned m_nLength;/ 用数组记录大数在 0x100000000进制下每一位的值unsigned long m_ulValueBI_MAXLEN;CBigInt;CBigInt;/*基本操作与运算 Mov,赋值运算,可赋值为大数或一般整数,可重载为运算符“=” Cmp,比较运算,可重载为运算符“=”、“ .= ”、“ =”、“ ;void MovCBigInt& A;CBigInt AddCBigInt& A;CBigInt SubCBigInt& A;CBigInt Mul
10、CBigInt& ACBigInt DivCBigInt& A;CBigInt Addunsigned long A;CBigInt Subunsigned long A;欢迎下载精品学习资源CBigInt Mulunsigned long A ;CBigInt Divunsigned long A;int CmpCBigInt& A ;void GetCString& str, unsigned int system=HEX;/Get ,从字符串按 10进制或 16进制格式输入到大数void PutCString& str, unsigned int system=HEX;/Put ,将大数
11、按 10进制或 16进制格式输出到字符串CBigInt EucCBigInt& A;CBigInt RsaTransCBigInt& A, CBigInt& B; ;3.3 本章小结基于面对对象程序设计开发的基本思想,本章介绍了大整数“类”的结构,包括大整数的构造,加,减,乘,除基本运算的函数模块和大整数的猎取、赋值函数模块;4基本运算的原理和代码实现4.1 加法运算4.11 实现原理如何进行大整数的加法运算欢迎下载精品学习资源4.12 代码实现CBigInt CBigInt:AddCBigInt& A/ 大数相加 ,调用形式: N.AddA, 返回值: N+A CBigInt X ;X.Mo
12、v*this ;unsigned carry=0;/进位unsignedint64 sum=0;ifX.m_nLengthX.m_nLength=A.m_nLength ;forunsigned i=0;isum=A.m_ulValuei ;sum=sum+X.m_ulValuei+carry;X.m_ulValuei=unsigned longsum;carry=unsignedsum32;X.m_ulValueX.m_nLength=carry ;X.m_nLength+=carry;return X;欢迎下载精品学习资源CBigInt CBigInt:Addunsigned long A
13、CBigInt X ;X.Mov*this ;unsignedint64 sum;sum=X.m_ulValue0;sum+=A;X.m_ulValue0=unsigned longsum;ifsum0xffffffffunsigned i=1;whileX.m_ulValuei=0xffffffffX.m_ulValuei=0;i+ ;X.m_ulValuei+ ;ifm_nLength=im_nLength+ ;return X;欢迎下载精品学习资源4.13数据测试结果图 4.134.2 减法运算4.21减法运算代码实现CBigInt CBigInt:SubCBigInt& A/ 大数相减
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022 整数 基本 运算 实现 研究 报告 分析
![提示](https://www.deliwenku.com/images/bang_tan.gif)
限制150内