Partager via


modf, modff

Fractionne une valeur à virgule flottante en une partie entière et une partie fractionnaire

double modf( 
   double x, 
   double *intptr  
); 
float modf( 
   float x, 
   float *intptr 
);  // C++ only 
long double modf( 
   long double x, 
   long double * intptr 
);  // C++ only 
float modff( 
   float x, 
   float *intptr  
);

Paramètres

  • x
    Valeur à virgule flottante.

  • intptr
    Pointeur vers la partie entière stockée.

Valeur de retour

Cette fonction retourne la partie entière signée de X. Aucun retour d'erreur.

Notes

La fonction d'modf décompose la valeur à virgule flottante X en un élément fractionnaire et un entier, dont les deux ont le meme signe que . X. La partie fractionnaire signée dex est retournée. La partie entière est enregistrée en tant que valeur à virgule flottante à l'intptr.

modf a une implémentation qui utilise les extensions Streaming SIMD 2 (SSE2). Voir le _set_SSE2_enable pour des informations ainsi que connaitre l'état des restrictions sur l'usage de l'implémentation SSE2.

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

Configuration requise

Routine

En-tête requis

modf, modff

<math.h>

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

Bibliothèques

Toutes les versions des bibliothèques Runtime C.

Exemple

// crt_modf.c

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

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

   x = -14.87654321;      /* Divide x into its fractional */
   y = modf( x, &n );     /* and integer parts            */

   printf( "For %f, the fraction is %f and the integer is %.f\n", 
           x, y, n );
}

Sortie

For -14.876543, the fraction is -0.876543 and the integer is -14

Équivalent .NET Framework

Voir aussi

Référence

Prise en charge de la virgule flottante

Long double

frexp

ldexp