isnormal
Определено в заголовке <math.h> | ||
|---|---|---|
#define isnormal(arg) /* implementation defined */ | (с C99) |
Определяет, является ли заданное число с плавающей запятой arg нормальным, т.е. не является нулём, субнормальным, бесконечным или NaN. Макрос возвращает целочисленное значение.
FLT_EVAL_METHOD игнорируется: даже если аргумент вычисляется с большим диапазоном и точностью, чем его тип, он сначала преобразуется в свой семантический тип, и классификация основана на этом.
Параметры
| arg | - | значение с плавающей запятой |
Возвращаемое значение
Неноль целочисленное значение, если arg является нормальным, 0 в противном случае.
Пример
#include <stdio.h>
#include <math.h>
#include <float.h>
int main(void)
{
printf("isnormal(NAN) = %d\n", isnormal(NAN));
printf("isnormal(INFINITY) = %d\n", isnormal(INFINITY));
printf("isnormal(0.0) = %d\n", isnormal(0.0));
printf("isnormal(DBL_MIN/2.0) = %d\n", isnormal(DBL_MIN/2.0));
printf("isnormal(1.0) = %d\n", isnormal(1.0));
}Вывод:
isnormal(NAN) = 0 isnormal(INFINITY) = 0 isnormal(0.0) = 0 isnormal(DBL_MIN/2.0) = 0 isnormal(1.0) = 1
Ссылки
- Стандарт C11 (ISO/IEC 9899:2011):
- 7.12.3.5 Макрос isnormal (стр. 237)
- Стандарт C99 (ISO/IEC 9899:1999):
- 7.12.3.5 Макрос isnormal (стр. 217-218)
См. также
|
(C99) | классифицирует данное значение с плавающей запятой (функция-макрос) |
|
(C99) | проверяет, имеет ли данное число конечное значение (функция-макрос) |
|
(C99) | проверяет, является ли данное число бесконечным (функция-макрос) |
|
(C99) | проверяет, является ли данное число NaN (функция-макрос) |
Документация C++ для isnormal |
|
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/c/numeric/math/isnormal