👤

Buna!
Imi poate explica cineva operatiile ce au fost facute cu tipurile de data double in secventa de mai jos? Nu inteleg mai nimic de acolo.

double nreal(int x, int y) {
double a, b;
a = (double)x;
int nr_cif = 0, aux =y;
while (aux) {
nr_cif++;
aux/=10;
}
int nr=1;
while (nr_cif) {
nr_cif--;
nr*=10;
}
b=(double)((double)y/nr);
return a+b;
}


Răspuns :

Din cate vad, incerci sa construiesti un numar care are partea intreaga x si cifrele partii fractionare memorate sub forma de numar intreg in y.

Tipul de date double(ca si float) iti permite aritmetica cu numere cu virgula(majoritatea numere rationale).

double = float pe 64 de biti

In acea functie ai nevoie sa folosesti double sau float pentru partea fractionara(altfel vei pierde cifrele de dupa virgula)