[C con Clase] Problema con numero double en C++
Luis Gutierrez Gomez
gutierrezgl en hotmail.com
Dom Jun 16 23:00:19 CEST 2013
Buenas Tardes:
Haciendo algunas practicas de programacion en C++, me topé con un problema que es el siguiente:
En esta porcion del programa que hago
double numero1, numero2, numero3, numero4;
bool resp;
numero1 = 9.8;
numero2 = 4.8;
numero3 = 10.5;
numero4 = 5.5;
resp = ((numero1 - numero2) == (numero3 - numero4)) ? 1 : 0;
return (resp);
¿Porque me da como resultado resp = 0 , si como se ve, los resultados de las diferencias
son 5 en ambos casos? Deberia dar 1.
Estuve tratando de entenderlo, me parece que estaria relacionado con los digitos menos significativos del double que no aparecen, si es así, como podria hacer para evitar esta complicación?
Intenté tambien hacerlo de esta manera, pero da lo mismo:
doble booster1, booster2;
booster1 = numero1 - numero2;
booster2 = numero3 - numero4;
resp = (booster1 == booster2) ? 1:0;
return (resp);
Muchas gracias
Luis G.
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20130616/8967445d/attachment.html>
Más información sobre la lista de distribución Cconclase