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 x
signed int
valeur.
Sinon, les fonctions retournent l’une des valeurs suivantes, définies dans <math.h> :
Input | Result |
---|---|
±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 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
Référence de fonction alphabétique
frexp
logb
, , logbf
logbl
, , _logb
_logbf