frexp(3) Library Functions Manual frexp(3) NOM frexp, frexpf, frexpl - Conversion de reel en fraction normalisee BIBLIOTHEQUE Bibliotheque de math (libm, -lm) SYNOPSIS #include double frexp(double x, int *e); float frexpf(float x, int *e); long double frexpl(long double x, int *e); Exigences de macros de test de fonctionnalites pour la glibc (consulter feature_test_macros(7)) : frexpf(), frexpl() : _ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L || /* Depuis la glibc 2.19 : */ _DEFAULT_SOURCE || /* glibc <= 2.19 : */ _BSD_SOURCE || _SVID_SOURCE DESCRIPTION These functions are used to split the number x into a normalized fraction and an exponent which is stored in e. VALEUR RENVOYEE Ces fonctions renvoient la fraction normalisee. Si l'argument x est non nul, la fraction normalisee est x multiplie par une puissance de deux et sa valeur absolue est comprise dans l'intervalle 1/2 (inclus) et 1 (exclu), c'est-a-dire [0,5-1]. If x is zero, then the normalized fraction is zero and zero is stored in e. If x is a NaN, a NaN is returned, and the value of *e is unspecified. If x is positive infinity (negative infinity), positive infinity (negative infinity) is returned, and the value of *e is unspecified. ERREURS Aucune erreur n'est survenue' ATTRIBUTS Pour une explication des termes utilises dans cette section, consulter attributes(7). +---------------------------------+--------------------------+---------+ |Interface | Attribut | Valeur | +---------------------------------+--------------------------+---------+ |frexp(), frexpf(), frexpl() | Securite des threads | MT-Safe | +---------------------------------+--------------------------+---------+ STANDARDS C11, POSIX.1-2008. HISTORIQUE C99, POSIX.1-2001. La variante renvoyant double est egalement conforme a SVr4, 4.3BSD et C89. EXEMPLES Le programme ci-dessous affiche les resultats suivants : $ ./a.out 2560 frexp(2560, &e) = 0.625: 0.625 * 2^12 = 2560 $ ./a.out -4 frexp(-4, &e) = -0.5: -0.5 * 2^3 = -4 Source du programme #include #include #include #include int main(int argc, char *argv[]) { double x, r; int e; x = strtod(argv[1], NULL); r = frexp(x, &e); printf("frexp(%g, &e) = %g: %g * %d^%d = %g\n", x, r, r, 2, e, x); exit(EXIT_SUCCESS); } VOIR AUSSI ldexp(3), modf(3) TRADUCTION La traduction francaise de cette page de manuel a ete creee par Christophe Blaess , Stephan Rafin , Thierry Vignaud , Francois Micaux, Alain Portal , Jean-Philippe Guerard , Jean-Luc Coulon (f5ibh) , Julien Cristau , Thomas Huriaux , Nicolas Francois , Florentin Duneau , Simon Paillard , Denis Barbier , David Prevot , Cedric Boutillier et Jean-Pierre Giraud Cette traduction est une documentation libre ; veuillez vous reporter a la GNU General Public License version 3 concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITE LEGALE. Si vous decouvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message a . Pages du manuel de Linux 6.15 19 juillet 2025 frexp(3)