Partager via


frexp

Obtient la mantisse et l'exposant d'un nombre à virgule flottante.

double frexp(
   double x,
   int *expptr 
);
float frexp(
   float x,
   int * expptr
);  // C++ only
long double frexp(
   long double x,
   int * expptr
);  // C++ only

Paramètres

  • x
    Valeur à virgule flottante.

  • expptr
    Pointeur vers l'exposant entier stocké.

Valeur de retour

frexp retourne la mantisse. Si x est 0, la fonction retourne 0 pour la mantisse et l'exposant. Si expptr est NULL, le gestionnaire de paramètres invalide est appelé comme décrit dans Validation de paramètre. Si l'exécution est autorisée à se poursuivre, cette fonction définit errno à la valeur EINVAL et retourne 0.

Notes

La fonction frexp décompose la valeur à virgule flottante (x) en une mantisse (m) et un exposant (n), de sorte que la valeur absolue de m est supérieure ou égale à 0,5 et inférieure à 1,0, et que x = m. *2.n L'exposant entier n est enregistré à l'emplacement désigné par expptr.

Comme le C++ permet la surcharge de méthode, vous pouvez appeler des surcharges de frexp. Dans un programme C, frexp prend toujours un double et un entier et retourne une valeur double.

Configuration requise

Fonction

En-tête requis

frexp

<math.h>

Pour plus d'informations sur la compatibilité, consultez Compatibilité dans l'introduction.

Exemple

// crt_frexp.c
// This program calculates frexp( 16.4, &n )
// then displays y and n.
 

#include <math.h>
#include <stdio.h>

int main( void )
{
   double x, y;
   int n;

   x = 16.4;
   y = frexp( x, &n );
   printf( "frexp( %f, &n ) = %f, n = %d\n", x, y, n );
}
  

Équivalent .NET Framework

Non applicable. Pour appeler la fonction C standard, utilisez PInvoke. Pour plus d'informations, consultez Exemples d'appel de plateforme.

Voir aussi

Référence

Prise en charge de la virgule flottante

ldexp

modf, modff