Ver Mensaje Individual
  #10 (permalink)  
Antiguo 17/05/2016, 14:49
Avatar de xKuZz
xKuZz
 
Fecha de Ingreso: febrero-2015
Ubicación: nullptr
Mensajes: 183
Antigüedad: 9 años, 10 meses
Puntos: 27
Respuesta: Saber si un double se ha desbordado

Como ya te ha dicho eferion lo primero que deberías de hacer es probar con <fenv.h>. El Flag obtenido por las funciones de <fenv.h> NO es un flag de la ALU. No obstante, no todos los compiladores dan soporte a ello en C.

Puedes comprobar rápidamente si eso es una posibilidad linkando con -lm y mostrando todos los warnings (-Wall) y escribiendo el siguiente pragma
Código C:
Ver original
  1. #pragma STDC FENV_ACCESS ON

Si te dice que el pragma no es conocido sólo se me ocurre una idea que no es portable de compilador a compilador. Si el comportamiento por defecto de tu compilador es redondear con roundToEven o roundToNearest el overflow quedará siempre con el valor a infinitivo si es overflow por encima para positivos o -infinitivo si overflow para negativos utilizando la función isinf de math.h