isfinite()

Определить, является ли число конечным

Прототип:

#include <math.h>
int isfinite( double x );

Аргументы:

x
Число, которое требуется проверить.

Библиотека:

libm

Описание:

Макрос isfinite() определяет, является ли число x конечным.

Возвращаемое значение:

1
(True) Значение x конечно.
≠1
(False) Значение x - беконечность или NAN.

Примеры:

#include <stdio.h>
#include <errno.h>
#include <inttypes.h>
#include <math.h>
#include <fpstatus.h>
int main( void )
{
double a, b, c, d;
a = 2;
b = -0.5;
c = NAN;
fp_exception_mask( _FP_EXC_DIVZERO, 1 );
d = 1.0 / 0.0;
printf( "%f is %s \n", a, (isfinite( a )) ? "finite" : "not finite" );
printf( "%f is %s \n", b, (isfinite( b )) ? "finite" : "not finite" );
printf( "%f is %s \n", c, (isfinite( c )) ? "finite" : "not finite" );
printf( "%f is %s \n", d, (isfinite( d )) ? "finite" : "not finite" );
return(0);
}

Код генерирует следующий вывод:

$ ./a.out 2.000000 is finite -0.500000 is finite NAN is not finite Inf is not finite

Классификация:

POSIX 1003.1

Безопасность использования
Точка остановки потока
Нет
Обработчик прерываний
Нет
Обработчик сигналов
Нет
В потоке
Да

Тематические ссылки:

isinf(), isnan()




Предыдущий раздел: Описание API математической библиотеки