Partager via


ilogb, ilogbf, ilogbl

Récupère un entier qui représente l’exposant en base 2 non biaisé de la valeur spécifiée.

Syntaxe

int ilogb(
   double x
);

int ilogb(
   float x
); //C++ only

int ilogb(
   long double x
); //C++ only

int ilogbf(
   float x
);

int ilogbl(
   long double x
);

#define ilogbl(X) // Requires C11 or higher

Paramètres

x
Valeur spécifiée.

Valeur retournée

Si elle réussit, ces fonctions retournent l’exposant base 2 d’une xsigned int valeur.

Sinon, les fonctions retournent l’une des valeurs suivantes, définies dans <math.h> :

Entrée Résultat
±0 FP_ILOGB0
± INF, ± NAN, IND FP_ILOGBNAN

Les erreurs sont signalées comme spécifié dans _matherr.

Notes

C++ autorisant la surcharge, vous pouvez appeler des surcharges de ilogb qui acceptent et retournent des types float et long double. Dans un programme C, sauf si vous utilisez la <macro tgmath.h> pour appeler cette fonction, ilogb prend toujours et retourne un double.

Si vous utilisez la <macro tgmath.h>ilogb() , le type de l’argument détermine la version de la fonction sélectionnée. Pour plus d’informations, consultez les mathématiques génériques de type.

Appeler cette fonction revient à appeler la fonction logb équivalente, puis à effectuer un cast de la valeur de retour vers int.

Spécifications

Routine En-tête C En-tête C++
ilogb, ilogbf, ilogbl <math.h> <cmath>
Macro ilogb <tgmath.h>

Pour plus d’informations sur la compatibilité, consultez Compatibility.

Voir aussi

Informations de référence sur les fonctions alphabétiques
frexp
logb, logbf, logbl, _logb, _logbf