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