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

benjamin almarza benjamin.almarza en alumnos.usm.cl
Vie Mayo 11 20:54:49 CEST 2012


Debe hacerlo así:

double dou1 = (2.0*90)/(56*78*43);
double dou2 = 2500;
double dou3 = dou1 * dou3;
cout << "dou3: " << dou3 << endl;

Ojo que le puse un ".0" al 2, así lo considera un "double" y un double por
un entero es un double.
Otro truquito en la misma linea es :

double dou1 = 1.0*(2*90)/(56*78*43);
double dou2 = 2500;
double dou3 = dou1 * dou3;
cout << "dou3: " << dou3 << endl;

Lo que estás haciendo es dividir dos enteros y luego castearlos a doble y
al dividirlos te da cero

double dou1 = (double) ((numero int)/(numero int));


2012/5/11 User <usuarioanonimomysql en gmail.com>

> 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.
>
> _______________________________________________
> Lista de correo Cconclase Cconclase en listas.conclase.net
> http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
> Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20120511/6d2c5246/attachment.html>


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