[C con Clase] Obtener mayor precisión en operaciones con números pequeños

Ezequiel Hernan Di Giorgi hernan.digiorgi en gmail.com
Vie Mayo 11 20:46:56 CEST 2012


El 11 de mayo de 2012 15:11, User <usuarioanonimomysql en gmail.com> escribió:

> Hola,
>
> Estoy tratando de trabajar con números pequeños, tengo estas operaciones:
>
> double dou1 = (2*90)/(56*78*43);
> double dou2 = 2500;
> double dou3 = dou1 * dou3;
> cout << "dou3: " << dou3 << endl;
>
> dou3 vale 0 cuando debería valer aproximadamente 2.39.
>
> ¿Cómo puedo hacer para que tenga más precisión?
>
> Saludos.
>

Hola! Mira a mi me funciona asi....

double dou3 = dou1 * dou3;
Fijate que declaras dou3, y luego le asignas dou1 *dou3.
El proceso es:
*Se crea la variable dou3 que su valor sera el que este en ese momento en
ese lugar de momeria
*Le multiplicas dou1 por un dou3 que no sabes que valor tiene.
*Le asignas ese valor a dou3

Por lo que aunque te de cero, por que tengas memoria limpia y libre, el
resultado no esta definido

double dou1 = double(2.0*90.0)/double(56.0*78.0*43.0);
double dou2 = 2500;
double dou3 = dou1 * dou2;
cout << "dou3: " << dou3 << endl;

Asi te funcionara....(:
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20120511/704fa8fc/attachment.html>


Más información sobre la lista de distribución Cconclase