Namespaces
Variants

isfinite

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
isfinite
(C99)
(C99)
(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 isfinite(arg) /* implementation defined */
(depuis C99)

Détermine si le nombre à virgule flottante donné arg a une valeur finie, c'est-à-dire qu'il est normal, sous-normal ou zéro, mais pas infini ou 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 entière non nulle si arg a une valeur finie, 0 sinon.

Exemple

#include <float.h>
#include <math.h>
#include <stdio.h>
int main(void)
{
    printf("isfinite(NAN)         = %d\n", isfinite(NAN));
    printf("isfinite(INFINITY)    = %d\n", isfinite(INFINITY));
    printf("isfinite(0.0)         = %d\n", isfinite(0.0));
    printf("isfinite(DBL_MIN/2.0) = %d\n", isfinite(DBL_MIN / 2.0));
    printf("isfinite(1.0)         = %d\n", isfinite(1.0));
    printf("isfinite(exp(800))    = %d\n", isfinite(exp(800)));
}

Sortie possible :

isfinite(NAN)         = 0
isfinite(INFINITY)    = 0
isfinite(0.0)         = 1
isfinite(DBL_MIN/2.0) = 1
isfinite(1.0)         = 1
isfinite(exp(800))    = 0

Références

  • Norme C23 (ISO/IEC 9899:2024):
  • 7.12.3.2 La macro isfinite (p: TBD)
  • Norme C17 (ISO/CEI 9899:2018) :
  • 7.12.3.2 La macro isfinite (p: TBD)
  • Norme C11 (ISO/IEC 9899:2011):
  • 7.12.3.2 La macro isfinite (p: 236)
  • Norme C99 (ISO/CEI 9899:1999) :
  • 7.12.3.2 La macro isfinite (p: 216-217)

Voir aussi

classe la valeur flottante donnée
(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)
vérifie si le nombre donné est normal
(macro de fonction)
Documentation C++ pour isfinite