[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