与处理就非常方便了。
2算法基本原理
1大整数的概念“大整数”一般指位数达到十几或成百上千甚至更多的整数,而更准确地说,应该是指普通程序设计语言中的整数类型值集范围以上的整数。如标准的C的U
sig
edlo
g型整数所能处理的整数范围最大,有效数位也最多,为4294967295错误!未找到引用源。占据32位(4个字节)存贮空间,此时,大整数就是指十位以上的十进制整数了。
2“大整数”运算是指“大整数”之间的加减乘除等运算结果依然保持其数学理论上准确和精确的结果。
3我们采用数组存储的方式存储,并且存储的位数不能大于256位,否则会发生溢出错误而导致大整数处理错误。对于负数,程序将不能处理,可以输入,计算结果输出为整数。
所以程序需要满足如下几点要求:(1)建立一维数组a500用以存放大整数的位数,长整数用一维字符型数组来存储,数组的每一个元素顺序存储长整数的一位数字。设有k位长整数m,用数组a存储:mak10k1ak110k2a2101a1100并用a0存储长整数m的位数,即a0k。(2)构造函数的建立Lo
gi
t;(3)运算符重载函数的建立建立重载运算符Lo
gi
toperatorLo
gi
tlo
gi
t2建立重载运算符Lo
gi
toperatorLo
gi
tlo
gi
t2建立重载运算符Lo
gi
toperatorLo
gi
tlo
gi
t2
3类设计
类模板就是设计一种类的框架,可以适用不同的数据类型,只是一种类的抽象,因此,利用类模板可以针对不同的数据类型定义出具有共性的一组类。
f定义形式如下:template类型名参数名1,类型名参数名2,…
class类名
类声明体;;与函数模板类似,通过使用类模板可以使得所定义的类中的某些数据成员某些成员函数的参数某些成员函数的返回值都可以是任意的数据类型(包括基本类型和自定义类型)。所以,可以通过类模板将程序所处理的对象的类型参数化,从而使得同一段程序可用于处理多种不同类型的对象,提高了程序的抽象层次和可重用性。由于哈希表中的数据元素可以是chari
tfloat等多种数据类型,因此可以使用类模板来构造本程序的实现框架。本设计是建立一个大整数类Lo
gi
t,通过建立构造函数,并对运算符、、进行重载,实现了大整数类的运算。
4详细设计
41类的接口设计
i
clude