En primer lugar, ¿qué devuelven las funciones matemáticas en caso de que no exista un resultado a su operación?
Hay algunas funciones matemáticas como la raíz cuadrada y el logaritmo que no siempre tienen solución, en estos casos se devuelve nan (Not A Number) y se puede comprobar con la función isnan.
Otra situación posible es llegar a un valor infinito, ¿qué ocurre entonces? pues se devuelve inf y se puede comprobar con isinf.
Aquí un ejemplo de como se puede llegar a estas situaciones, para compilar gcc prog.c -o prog -lm.
#include <stdio.h>
#include <math.h>
int main(){
float dividendo=999999999;
float divisor=0.000000000000000000000000000000001;
float num=dividendo/divisor;
if(isinf(num)) printf("Infinito\n");
printf("%f\n",num);
num=sqrt(-num);
if(isnan(num)) printf("Not a number\n");
printf("%f\n",num);
}
0 comentarios:
Publicar un comentario