FREXP(3)

NOM
frexp, frexpf, frexpl - Conversion de réel en fraction normalisée

SYNOPSIS
#include <math.h>

double frexp (double x, int *exp);
float frexpf (float x, int *exp);
long double frexpl (long double x, int *exp);

DESCRIPTION
La fonction frexp() est utilisée pour scinder le nombre x en une fraction normalisée et un exposant qui est stocké dans exp.

VALEUR RENVOYÉE
La fonction frexp() renvoie la fraction normalisée. Si x est non nul, x est égale à la fraction renvoyée multiplié par 2^exp. La fraction est dans l'intervalle [1/2, 1[. Si x est nul, la fraction normalisée vaut zéro et exp également.

CONFORMITÉ
SVr4, 4.3BSD, C89. Les variantes float et long double sont des demandes C99.

NOTES
Pour utiliser les fonctions de la bibliothèque mathématique, il ne faut pas oublier d'ajouter l'argument -lm sur la ligne de commande de cc(1) ou ld(1), lors de l'édition des liens.

EXEMPLE
#include <math.h>
#include <float.h>
#include <stdio.h>
#include <stdlib.h>
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, FLT_RADIX, exp, x);
    exit(EXIT_SUCCESS);
} /* main */

Ce programme produits les résultats 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

VOIR AUSSI
ldexp(3), modf(3)

TRADUCTION

Ce document est une traduction réalisée par Christophe Blaess <http://www.blaess.fr/christophe/> le 23 octobre 1996 et révisée le 10 décembre 2007.

L'équipe de traduction a fait le maximum pour réaliser une adaptation française de qualité. La version anglaise la plus à jour de ce document est toujours consultable via la commande : « LANG=C man 3 frexp ». N'hésitez pas à signaler à l'auteur ou au traducteur, selon le cas, toute erreur dans cette page de manuel.