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 *exp); float frexpf(float x, int *exp); long double frexpl(long double x, int *exp); 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 Ces fonctions sont utilisees pour convertir le nombre x en une fraction normalisee et un exposant qui est stocke dans exp. 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]. Si x est nul, la fraction normalisee vaut zero et exp prend la valeur zero. Si x est un NaN (pas un nombre : << Not a Number >>), un NaN est renvoye et la valeur de *exp n'est pas specifiee. Si x est une valeur infinie positive (resp. negative), une valeur infinie positive (resp. negative) est renvoyee et la valeur de *exp n'est pas specifiee. ERREURS Aucune erreur ne survient. 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 exp; x = strtod(argv[1], NULL); r = frexp(x, &exp); printf("frexp(%g, &e) = %g: %g * %d^%d = %g\n", x, r, r, 2, exp, 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.06 29 janvier 2024 frexp(3)