👤
a fost răspuns

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)