Reprezentarea numerelor mari

Reprezentarea numerelor mari

Pentru a reprezenta un număr cu mai mult de 20 de cifre vom utiliza un vector și vom reține în ordine cifrele sale începând cu cifra unităților. Vom stabili tipul elementelor vectorului ca fiind char (1 octet), deoarece fiecare element din vector este o cifră a numărului(observație: daca am stabili tipul elementelor vectorului ca fiind int(2 octeți) practic am dubla spațiul de stocare și am irosi memoria).

Exemplu: Dacă dorim să memorăm numărul 7654865 atunci el va fi memorat astfel:

Se poate observa ușor că indicele fiecărei cifre din număr coincide cu puterea bazei corespunzătoare acelei cifre. Să considerăm în continuare că numerele mari cu care vom lucra în continuare au maxim 1000 de cifre.

Declararea unui astfel de număr este:

#define DIM_MAX 1000 //dimensiune maxima: numar cu 1000 cifre

char a[DIM_MAX+1]; // numarul a

int lga; //numărul de cifre a numarului a=>lungimea sirului de caractere

unde:

    • DIM_MAX-constanta cu valoarea 1000, stabileste dimensiunea maxima a sirului de caractere(numarul maxim de cifre pe care il poate contine numarul a)