RE:como manejar super enteros de mas de 100 digito
Yo estoy haciendo algo similar trabajando los números como cadenas. Hasta el momento solo tengo la función para sumar (Las otras las estoy haciendo). La función se llama de la siguiente manera:
sumastr("2500", "475", s);
esto haría que la variable s tomase el valor "2975". Espero que te sirva...
void sumastr(char* s1, char* s2, char* total)
{
int sum = 0, car = 0, len, i;
char *iaux1, *iaux2, *itotal;
strcpy(iaux1, s1);
strcpy(iaux2, s2);
strcpy(total, "");
strinv(iaux1);
strinv(iaux2);
itotal = total;
len = strlen(s1);
if (len > strlen(s2)) len = strlen(s2);
for(i=0; i<len; i++)
{
sum = (car + ((int)*(iaux1 + i) - 48) + ((int)*(iaux2 + i) - 48)) % 10;
car = (car + ((int)*(iaux1 + i) - 48) + ((int)*(iaux2 + i) - 48)) / 10;
*(itotal + i) = (char)(sum + 48);
}
if (strlen(s1) == strlen(s2))
{
*(itotal + i) = car;
*(itotal + i + 1) = 0;
}
else if (strlen(s1) < strlen(s2))
{
for(i=len; i<strlen(s2); i++)
{
sum = (car + ((int)*(iaux2 + i) - 48)) % 10;
car = (car + ((int)*(iaux2 + i) - 48)) / 10;
*2