Programación General > Visual C++

 Desbordamiento Punto Flotante Visual C++ 6

(1/1)

manolo_83:
Hola,

estoy programando en visual c++ 6.0 y tengo el problema de que no sé cómo detectar mediante excepciones las salidas de rango al operar con variables tipo double...

creo que _matherr soluciona este problema pero sólo para funciones propias de
math.h, pero qué hago con mis propias funciones???
por ejemplo en una de las funciones que calcula el factorial

double fact(long i){
   
   double resultado;
         
   if (i<0){
      resultado=0;
   }else if(i==0){
      resultado=1;
   }else{
      
      resultado=i;
      while (i!=1){
         i--;
         resultado=resultado*i;
      }
      //por lo visto en fact(171) se sobrecarga
      //fact(171)>MAX_DOUBLE con lo cual a partir
      //de ahí no hay cuenta que valga
   }
         
        return resultado;
}


¿Podríais ayudarme?

Un saludo

SteelX:
Claro en el archivo de cabecera <float.h> encontraras los maximos y los minimos de los doubles..

para el maximo se llama DBL_MAX y para el minimo se llama DBL_MIN


espero y te sirva

Navegación

[0] Índice de Mensajes

Ir a la versión completa