Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Divide un valore a virgola mobile in parte frazionaria e parte intera.
Sintassi
double modf( double x, double * intptr );
float modff( float x, float * intptr );
long double modfl( long double x, long double * intptr );
float modf( float x, float * intptr ); // C++ only
long double modf( long double x, long double * intptr ); // C++ only
Parametri
x
Valore a virgola mobile.
intptr
Puntatore alla parte intera archiviata.
Valore restituito
Questa funzione restituisce la parte frazionaria firmata di x. Non viene restituito alcun errore.
Osservazioni:
La funzione modf suddivide il valore a virgola mobile x nelle parti frazionaria e intera, ognuna delle quali ha lo stesso segno di x. Viene restituita la parte frazionaria con segno di x. La parte integer viene archiviata come valore a virgola mobile in intptr.
modf ha un'implementazione che usa SSE2 (Streaming SIMD Extensions 2). Vedere _set_SSE2_enable per informazioni e restrizioni sull'uso dell'implementazione SSE2.
C++ consente l'overload, quindi è possibile chiamare overload di modf che accettino e restituiscano i parametri float e long double. In un programma C modf accetta sempre due valori double e restituisce un valore double.
Per impostazione predefinita, lo stato globale di questa funzione è limitato all'applicazione. Per modificare questo comportamento, vedere Stato globale in CRT.
Requisiti
| Ciclo | Intestazione obbligatoria |
|---|---|
modf, modff, modfl |
C: <math.h>C++: <cmath> o <math.h> |
Per altre informazioni sulla compatibilità, vedere Compatibility (Compatibilità).
Esempio
// 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 );
}
For -14.876543, the fraction is -0.876543 and the integer is -14