modf, modff

Divide un valor de punto flotante en partes fraccionarias y completas.

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

Parámetros

  • x
    Valor de punto flotante.

  • intptr
    Puntero a la parte entera almacenada.

Valor devuelto

Esta función devuelve a la fracción firmado de X. No se devuelve ningún error.

Comentarios

La función de modf analiza el valor de punto flotante x en partes fraccionarias y completas, que tiene el mismo signo que x. Se devuelve la fracción con signo x . Almacena en la parte entera como valor de punto flotante en el intptr.

modf tiene una implementación que usa las Extensiones SIMD de transmisión por secuencias 2 (SSE2). Vea _set_SSE2_enable para la información y las restricciones de utilizar la implementación SSE2.

C++ permite la sobrecarga, por lo que puede llamar a sobrecargas de modf. En un programa de C, modf siempre toma dos valores double y devuelve uno.

Requisitos

Rutina

Encabezado necesario

modf, modff

<math.h>

Para obtener información adicional de compatibilidad, vea Compatibilidad en la Introducción.

Bibliotecas

Todas las versiones de las bibliotecas en tiempo de ejecución de C.

Ejemplo

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

Resultados

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

Equivalente en .NET Framework

Vea también

Referencia

Compatibilidad con el punto flotante

Long double

frexp

ldexp