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
Défini dans l'en-tête <math.h>
#define isnormal(arg) /* implementation defined */
(depuis C99)

Détermine si le nombre à virgule flottante donné arg est normal, c'est-à-dire n'est ni zéro, sous-normal, infini, ni NaN . La macro retourne une valeur entière.

FLT_EVAL_METHOD est ignoré : même si l'argument est évalué avec plus de portée et de précision que son type, il est d'abord converti en son type sémantique, et la classification est basée sur cela.

Table des matières

Paramètres

arg - valeur à virgule flottante

Valeur de retour

Valeur intégrale non nulle si arg est normal, 0 sinon.

Exemple

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

Sortie :

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

Références

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

Voir aussi

classe la valeur flottante donnée
(macro de fonction)
vérifie si le nombre donné a une valeur finie
(macro de fonction)
(C99)
vérifie si le nombre donné est infini
(macro de fonction)
(C99)
vérifie si le nombre donné est NaN
(macro de fonction)
Documentation C++ pour isnormal