isnormal
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Определено в заголовочном файле
<math.h>
|
||
|
#define isnormal(arg) /* implementation defined */
|
(since C99) | |
Определяет, является ли данное число с плавающей запятой
arg
нормальным, то есть не является ни нулём, денормализованным, бесконечностью, ни
NaN
. Макрос возвращает целочисленное значение.
FLT_EVAL_METHOD игнорируется: даже если аргумент вычисляется с большим диапазоном и точностью, чем его тип, он сначала преобразуется в свой семантический тип, и классификация основывается на этом.
Содержание |
Параметры
| arg | - | значение с плавающей запятой |
Возвращаемое значение
Ненулевое целочисленное значение, если arg является нормальным, 0 в противном случае.
Пример
#include <float.h> #include <math.h> #include <stdio.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
Ссылки
- Стандарт C23 (ISO/IEC 9899:2024):
-
- 7.12.3.5 Макрос isnormal (стр: TBD)
- Стандарт C17 (ISO/IEC 9899:2018):
-
- 7.12.3.5 Макрос isnormal (стр.: TBD)
- Стандарт 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++ documentation
для
isnormal
|
|