 
	#include <math.h> // <cmath> en C++
double ilogb( double x ); // C99
float ilogbf( float x ); // C99
long double ilogbl( long double x ); // C99
                Ces trois fonctions permettent d'extraire un exposant entier, en base définie pas la constante FTL_RADIX, de la valeur passée en paramètre.
                L'exposant retourné correspond au plus grand entier tel que FLT_RADIXresult <= x.
                La valeur de retour sera exprimée par l'un des trois types flottants et non par un type entier. 
            
FLT_RADIX est définie dans l'entête <float.h>.
                Sur la plupart des plateformes, FLT_RADIX est égal à 2, ce qui rend cette fonction équivalente à log2 
                pour des valeurs positives.
            La différence entre ces trois fonctions réside dans le type de données utilisé pour le paramètre et la valeur de retour (double, float ou long double).
ilogb, ilogbf et ilogbl,
                à la différence du type utilisé pour exprimer la valeur de retour.
            FLT_RADIX. 
                    Attention ce paramètre ne doit pas être fixé à 0.
                
                    Ces fonctions renvoient l'exposant entier, en base définie par la constante FLT_RADIX, de la valeur passée en paramètre.
                
                    Si x vaut zéro, une des trois valeurs suivantes vous sera retournée, en fonction de la version de la fonction utilisée : 
                    -HUGE_VAL, -HUGE_VALF ou -HUGE_VALL
                
                    Si x vaut NaN, une valeur NaN vous sera renvoyée.
                
                    Si x vaut +/- l'infini, la constante INFINITY sera renvoyée.
                
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 | #include <float.h> #include <math.h> #include <stdio.h> #include <stdlib.h> int main( int argc, char * argv[] ) { double x = 12.5; double exposant = logb( x ); printf( "L'exposant entier de %g, en base %d est %g.\n", x, FLT_RADIX, exposant ); return EXIT_SUCCESS; } | 
                Il est à noter que la librairie mathématique doit être ajoutée durant l'étape de "link" (édition des liens) de votre exécutable. 
                Cela se réalise en ajoutant l'option -lm à votre compilateur GCC. En cas d'utilisation d'un autre compilateur, je vous renvoie vers la documentation de ce dernier. 
            
$> gcc -o sample sample.c -lm $> ./sample L'exposant entier de 12.5, en base 2 est 3. $>
 
	
Améliorations / Corrections
Vous avez des améliorations (ou des corrections) à proposer pour ce document : je vous remerçie par avance de m'en faire part, cela m'aide à améliorer le site.
Emplacement :
Description des améliorations :