quarta-feira, 11 de maio de 2011

Dicas de Programação: Como verificar se um valor é infinito ou NaN em C?

Então, como eu posso verificar se um float possui um valor válido (sem ele ser infinito ou NaN)?

Simples, usando as funções isnan e isinf da biblioteca math:

#include <math.h>
#include <stdio.h>

int main(int num_args, char* args[])
{
float a = 0.0/0.0;
if (isnan(a))
{
printf("a=NaN\n");
}
a = 1.0/0.0;
if (isinf(a))
{
printf("a=Infinite\n");
}
a = 3.0/1.0;
printf("a=%f\n",a);
return 0;
}

Vi que alguém procurou isso no meu blog, por isso resolvi escrever. :)
Espero que ajude...

Até!

Nenhum comentário: