一、基本操作
1、大整数的数据结构定义
//大整数的数据结构定义
struct bign
{
int d[1000];
int len;
bign()
{
memset(d,0,sizeof(d));
len=0;
}
};
2、输入的字符串转为大整数
//输入的字符串转为大整数
bign change(char str[])
{
bign a;
a.len=strlen(str);
for(int i=0;i<a.len;i++)
{
a.d[i]=str[len-1-i]-'0';
}
return a;
}
3、比较两个大整数的大小
int compare(bign a,bign b)
{
if(a.len>a.len) return 1;
else if(a.len<b.len) return -1;
else
{
for(int i=a.len-1;i>=0;i--)
{
if(a.d[i]>b.d[i]) return 1;
else if(a.d[i]<b.d[i]) return -1;
}
return 0;
}
}
二、大整数的四则运算
1、两个大整数相加
//1、两个大整数相加:
bign add(bign a,bign b)
{
bign c;
int carry=0; //进位
for(int i=0;i<a.len||i<b.len;i+