
该课程设计涵盖了大整数运算、加减乘除、指数运算以及数据结构相关内容,并提供了源代码和实验报告,最终成绩优异。
5星
- 浏览量: 0
- 大小:None
- 文件类型:None
简介:
密码学领域内,主要可分为两种类型的密码系统:对称密码与非对称密码。对称密码的核心功能在于数据的加密与解密操作,而非对称密码则广泛应用于身份验证、数字签名等特定场景。非对称密码在进行加密和解密时,通常会将待加密的数据视为一个庞大的正整数进行处理,进而需要执行一系列复杂的运算,包括大整数的加、减、乘、除以及指数运算等。此外,还需要对这些大整数进行输出操作。因此,需要精心设计并采用合适的底层数据结构来高效地实现大整数的加、减、乘、除和指数运算,以及大整数的输入和输出功能。【基本要求】1. 方案需采用链表结构作为实现大整数存储及运算的基础,严禁使用标准模板类提供的链表类(list)或相关函数。同时,系统应具备从键盘输入大整数的能力,并支持通过文件导入大整数数据;此外,能够将计算结果以显示器输出或写入文件的方式呈现。在存储、运算以及显示大整数时,应同时支持二进制和十进制两种进制的转换方式,但至少必须保证十进制的支持。在输出显示大整数的过程中,务必确保能够清晰地表达出该整数的位数信息。测试环节需要涵盖各种可能的场景和边界条件,并附上详细的测试截图以供参考;测试示例应尽可能详尽全面地展现各个功能的适用性及性能表现,尤其要关注各种极限情况的处理。2. 大整数的长度不应受到限制;即其十进制表示位数可以达到十几位甚至五百多位以上,甚至更长。在大整数的运算和显示过程中,仅需考虑正数的大整数值即可。如果条件允许的话, 每次大整数运算所花费的时间应以秒为单位进行展示。3. 方案设计应遵循面向对象的类设计思想, 禁止使用任何非类的函数定义, 但允许使用友元函数辅助实现;主函数中仅允许调用类的成员函数, 避免对其他函数的直接调用。4. 建议采用多文件编程方式:.h文件用于存储类的声明信息, .cpp文件用于实现类的具体功能, 主函数main则存储在独立的cpp文件中。若选择使用类模板, 则类的声明和实现均应包含在.h文件中。5. 虽然不强制要求使用类模板或创建可视化窗口界面, 但源程序中必须包含充分的注释说明, 以便于理解和维护代码的可读性;6. 建议采用Visual C++ 6.0及以上版本进行调试工作以确保程序的稳定性和兼容性
全部评论 (0)


