大整数运算
大整数又称为高精度整数,其含义就是 用基本数据类型无法存储的高精度整数, 然后对他们进行 加减乘除运算
大整数的存储
使用数组存储即可,对于235813,定义数组d[1000]来存储,数组中每一个存储大整数的每一位,即:d[0]=3,d[1]=1,d[2]=8,d[3]=5,d[4]=3,d[5]=2. 即整数的高位存储在数组的高位
为了方便获得大整数的长度,一般都会定义一个int型的变量len来记录长度,并和数组d组成结构体,同时为了处理加减法,或者正数加上负数这种情况,还会定义一个p来判断符号
struct bigNum{
int d[1000];
int len;
int p;
//使用构造函数初始话结构体
bigNum(){
memset(d, 0, sizeof(d));
len=0;
p = 1;
}
};
输入大整数时候,一般都使用字符串输入,然后再把字符串逆序输入bigNum中,不过要保证大整数的高位