modf, modff

divide un valore a virgola mobile in parti frazionarie e Integer.

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 
);

Parametri

  • x
    valore a virgola mobile.

  • intptr
    Puntatore all'intero archiviata.

Valore restituito

Questa funzione restituisce parte frazionaria a x.Non sono presenti ritorni di errore.

Note

modf la funzione divide il valore a virgola mobile x in parti frazionarie e Integer, ognuno dei quali presenta lo stesso segno come x. La parte frazionaria a x viene restituito.La parte Integer viene memorizzata come valore a virgola mobile e intptr.

modf dispone di un'implementazione che utilizza le estensioni di flusso 2 (SSE2) di SIMD.vedere _set_SSE2_enable per informazioni e le restrizioni sull'implementazione SSE2.

C++ consente l'overload, pertanto è possibile chiamare gli overload di modf.In un programma c, modf sempre accetta due valori double e restituisce un valore double.

Requisiti

routine

Intestazione di associazione

modf, modff

<math.h>

per informazioni di compatibilità aggiuntive, vedere compatibilità nell'introduzione.

Librerie

Tutte le versioni di Librerie di runtime del linguaggio C.

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 );
}

Output

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

Equivalente .NET Framework

Vedere anche

Riferimenti

Supporto per le operazioni in virgola mobile

Doppio lungo

frexp

ldexp