fpclassify – определение типа числа с плавающей точкой.
Синтаксис:
#include < math.h >
int fpclassify (x);
Аргументы:
x – проверяемое число с плавающей точкой.
Возвращаемое значение:
FP_NAN (0), если проверяемый аргумент не число.
FP_INFINITE (1), если проверяемый аргумент плюс или минус бесконечность.
FP_ZERO (2), если проверяемый аргумент ноль.
FP_SUBNORMAL (3), если проверяемый аргумент ненормализованное число.
FP_NORMAL (4), если проверяемый аргумент конечное, нормализованное число, отличное от нуля.
Описание:
Макрос fpclassify классифицирует аргумент, выраженный числом с плавающей точкой любого типа (float, double, long double), позволяя отнести аргумент к одной из пяти категорий:
- не число
- плюс или минус бесконечность
- ноль
- ненормализованное число
- конечное, нормализованное число не равное нулю.
Макрос fpclassify объединяет в себе возможности макросов isfinite, isinf, isnan, isnormal.
Пример:
В примере проверяется тип числа с плавающей точкой с помощью макроса fpclassify и результат выводится на консоль.
#include < stdio.h > //Для puts
#include < math.h > //Для fpclassify
int main (void)
{
//Классифицируемый аргумент.
double arg = INFINITY;
// Переменная для сохранения результата классификации
int rez=-1;
// Классификация аргумента
rez = fpclassify (arg);
// Вывод результата классификации на экран
switch (rez)
{
case FP_NAN:
puts (“Аргумент – не число”);
break;
case FP_INFINITE:
puts (“Аргумент – плюс или минус бесконечность”);
break;
case FP_ZERO:
puts (“Аргумент – ноль ”);
break;
case FP_SUBNORMAL:
puts (“Аргумент – ненормализованное число ”);
break;
case FP_NORMAL:
puts (“Аргумент – конечное, нормализованное число не равное нулю.”);
break;
default: break;
}
return 0;
}
| |
Результат:
Аргумент – плюс или минус бесконечность.
|
Смотри так же:
Функции:
finite, finitef, finitel
isinf, isinff, isinfl
isnan,isnanf,isnanl
Макросы:
isfinite
isinf
isnan
isnormal
isunordered
fpclassify
|