cum sa declari un nr natural in informatica care are cel mult 10500 cifre?
Răspunsuri la întrebare
Depinde de limbajul de programare si de dimensiunea de octeti alocata fiecarei categorii de date.
In majoritatea limbajelor de programare (inclusiv C/C++) nu declara un numar atat de mare. Numarul maxim de cifre la tipurile predefinite este 20 de cifre. Astfel e nevoie sa inventam o structura de date care sa retina un numar cu 10500 de cifre.
Cea mai simpla varianta ar fi un vector de forma :
char numar[10500], unde numar[i] = un caracter cuprins intre '0' si '9' si reprezinta o cifra a numarului respectiv
Astfel numarul 123456789 poate fi scris ca :
char numar[] = {'1','2','3','4','5','6','7','8','9'}
Poate ne avantajeaza sa scriem numarul invers (cifra unitatilor pe pozitia 0, cifra zecilor pe pozitia 1, etc.). Astfel :
char numar[] = {'9','8','7','6','5','4','3','2','1'}
Totusi ocupam o gramada de memorie (10,5KB), chiar daca folosim tipul char. O solutie mai eficienta ar fi folosirea unui vector de valori binare care memoreaza reprezentarea binara a numarului respectiv. Ocupam astfel o cantitate de 8 ori mai mica de memorie RAM.
Declararea si lucrul cu un astfel de numar este destul de dificila si consuma mult timp si multe resurse. Foarte rar ai nevoie de un astfel de numar in practica, iar de cele mai multe ori gasesti solutii alternative mult mai usoare.
De ce ai nevoie sa lucrezi cu un numar cu 105000 de cifre ?