Guillermo
2005-12-18 01:06:49 UTC
Hola
Tengo un problema. Resulta que necesito saber si una variable del
tipo double es mayor que otra. Por ejemplo
double a,b;
a = funtion1();
b = funtion2();
if(a=b)
operar()
.......
etc.
El problema es que como son del tipo double es posible que sean iguales
y que solo difieran en el decimal 19. No quiero truncar a,b pasandolas
a enteros. Tambien el problema es cuando uso mayor que o menor que,
porque puede ser que difieran en el decimal 10 y entonces diga que es
mayor cuando en realidad son iguales. Hay alguna manera de hacer que
funcione las comparaciones con doubles?. Yo estoy programando en linux
usando gcc y se que la glibc trae una funcion que compara puntos
flotantes. Pero me estoy rigiendo por el estandar ANSI y si uso esa
funcion o otra que dependa del sistema de operacion mi programa deja de
ser portable lo que es una prioridad para mi.
Alguna sugerencia?
Gracias
Guillermo
Tengo un problema. Resulta que necesito saber si una variable del
tipo double es mayor que otra. Por ejemplo
double a,b;
a = funtion1();
b = funtion2();
if(a=b)
operar()
.......
etc.
El problema es que como son del tipo double es posible que sean iguales
y que solo difieran en el decimal 19. No quiero truncar a,b pasandolas
a enteros. Tambien el problema es cuando uso mayor que o menor que,
porque puede ser que difieran en el decimal 10 y entonces diga que es
mayor cuando en realidad son iguales. Hay alguna manera de hacer que
funcione las comparaciones con doubles?. Yo estoy programando en linux
usando gcc y se que la glibc trae una funcion que compara puntos
flotantes. Pero me estoy rigiendo por el estandar ANSI y si uso esa
funcion o otra que dependa del sistema de operacion mi programa deja de
ser portable lo que es una prioridad para mi.
Alguna sugerencia?
Gracias
Guillermo