c语言,2的100次方怎么做,普通算数范围不够

2025-04-14 13:12:50
推荐回答(2个)
回答1:

#include
#include

#define N 1024

void fun(int n) {

char integer[N] = {1}; // 大数
char carry[N] = {0}; // 进位

int i,j;
int digit = 1;//数字位数

for(i=0; i j=0;
memset(carry,0,sizeof(carry));

for(j=0; j
integer[j] *= 2;
integer[j] += carry[j];

if(integer[j] >= 10) {
carry[j+1] = integer[j] / 10;;
integer[j] = integer[j] % 10;
}
}
if(carry[j]) {
integer[j] = carry[j];
digit++;
}
}

for(i=digit-1; i>=0; i--) {
printf("%c", integer[i]+'0');
}
}

int main()
{
fun(100);

getchar();
getchar();
}

回答2:

只能自己写一个大数乘法的函数 大数用数组结构存储