Informatică, întrebare adresată de sikesjack1, 8 ani în urmă

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;
}


boiustef: am inteles ca in functia nreal se trimit 2 numere intregi, care in functie vor deveni partea intreaga si partea fractionara a numarului real furnizat de subprogram
boiustef: se face conversie de tipuri...

Răspunsuri la întrebare

Răspuns de CinevaFaraNume
1

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)

Alte întrebări interesante