Namespaces
Variants

isnormal

From cppreference.net
< c ‎ | numeric ‎ | math
Common mathematical functions
Functions
Basic operations
(C99)
(C99)
(C99)
(C99) (C99) (C99) (C23)
Maximum/minimum operations
Exponential functions
Power functions
Trigonometric and hyperbolic functions
Nearest integer floating-point
(C99) (C99) (C99)
(C23) (C23) (C23) (C23)
Floating-point manipulation
Narrowing operations
(C23)
(C23)
(C23)
(C23)
(C23)
(C23)
Quantum and quantum exponent
Decimal re-encoding functions
Total order and payload functions
Classification
(C99)
(C99)
isnormal
(C99)
(C99)
(C23)
Error and gamma functions
(C99)
(C99)
(C99)
(C99)
Types
Macro constants
Special floating-point values
Arguments and return values
Error handling
Fast operation indicators
Definido en el encabezado <math.h>
#define isnormal(arg) /* implementation defined */
(desde C99)

Determina si el número de punto flotante dado arg es normal, es decir, no es cero, subnormal, infinito, ni NaN . La macro devuelve un valor integral.

FLT_EVAL_METHOD se ignora: incluso si el argumento se evalúa con más rango y precisión que su tipo, primero se convierte a su tipo semántico, y la clasificación se basa en eso.

Contenidos

Parámetros

arg - valor de punto flotante

Valor de retorno

Valor integral distinto de cero si arg es normal, 0 en caso contrario.

Ejemplo

#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));
}

Salida:

isnormal(NAN)         = 0
isnormal(INFINITY)    = 0
isnormal(0.0)         = 0
isnormal(DBL_MIN/2.0) = 0
isnormal(1.0)         = 1

Referencias

  • Estándar C23 (ISO/IEC 9899:2024):
  • 7.12.3.5 La macro isnormal (p: TBD)
  • Estándar C17 (ISO/IEC 9899:2018):
  • 7.12.3.5 La macro isnormal (p: TBD)
  • Estándar C11 (ISO/IEC 9899:2011):
  • 7.12.3.5 La macro isnormal (p: 237)
  • Estándar C99 (ISO/IEC 9899:1999):
  • 7.12.3.5 The isnormal macro (p: 217-218)

Véase también

clasifica el valor de punto flotante dado
(macro de función)
verifica si el número dado tiene valor finito
(macro de función)
(C99)
verifica si el número dado es infinito
(macro de función)
(C99)
verifica si el número dado es NaN
(macro de función)