1. NOM

ilogb, ilogbf, ilogbl - Obtenir l'exposant entier d'un nombre en virgule flottante

2. SYNOPSIS

#include <math.h>

int ilogb(double x);
int ilogbf(float x);
int ilogbl(long double x);

Effectuez l'édition des liens avec l'option -lm.

Exigences de macros de test de fonctionnalités pour la glibc (consultez feature_test_macros(7)) :

ilogb() :
    _BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE >= 500 || _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED || _ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L
ou cc -std=c99
ilogbf(), ilogbl() :
    _BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE >= 600 || _ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L
ou cc -std=c99

3. DESCRIPTION

Ces fonctions renvoient l'exposant de leur argument sous forme d'entier signé. Si aucune erreur ne se produit, ces fonctions sont équivalentes aux fonctions logb(3) avec un transtypage vers le type int.

4. VALEUR RENVOYÉE

En cas de succès, ces fonctions renvoient l'exposant de x sous forme d'entier signé. Si x est nul, cela cause une erreur d'intervalle et les fonctions renvoient FP_ILOGB0. Si x n'est pas un nombre (NaN), cela cause une erreur d'intervalle et les fonctions renvoient FP_ILOGBNAN. Si x est l'infini négatif ou positif, cela cause une erreur d'intervalle et les fonctions renvoient INT_MAX.

5. ERREURS

Consultez math_error(7) pour savoir comment déterminer qu'une erreur est survenue lors de l'appel de ces fonctions.

Les erreurs suivantes peuvent se produire :

  • Erreur d'intervalle : x est nul ou n'est pas un nombre (NaN) Une exception indiquant une virgule flottante incorrecte (FE_INVALID) est levée.

Ces fonctions ne positionnent pas errno dans ce cas.

  • Erreur de domaine : x est une valeur infinie

Ces fonctions ne positionnent pas errno et ne lèvent pas d'exception dans ce cas.

6. CONFORMITÉ

C99, POSIX.1-2001.

7. VOIR AUSSI

log(3), logb(3), significand(3)

8. COLOPHON

Cette page fait partie de la publication 3.52 du projet man-pages Linux. Une description du projet et des instructions pour signaler des anomalies peuvent être trouvées à l'adresse http://www.kernel.org/doc/man-pages/.

9. TRADUCTION

Depuis 2010, cette traduction est maintenue à l'aide de l'outil po4a <http://po4a.alioth.debian.org/> par l'équipe de traduction francophone au sein du projet perkamon <http://perkamon.alioth.debian.org/>.

Christophe Blaess <http://www.blaess.fr/christophe/> (1996-2003), Alain Portal <http://manpagesfr.free.fr/> (2003-2006). Florentin Duneau et l'équipe francophone de traduction de Debian (2006-2009).

Veuillez signaler toute erreur de traduction en écrivant à <>.

Vous pouvez toujours avoir accès à la version anglaise de ce document en utilisant la commande « LC_ALL=C man <section> <page_de_man> ».