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