modf, modff
Divide um valor de ponto flutuante em partes fracionários e de inteiro.
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 ponto flutuante.intptr
Ponteiro para a parte armazenada inteiro.
Valor de retorno
Essa função retorna a parte fracionária assinado de X. Não há nenhum retorno de erro.
Comentários
A função de modf divide o valor de ponto flutuante x em partes fracionários e de inteiro, cada qual com o mesmo sinal de x. A parte fracionária assinado x é retornada. A parte inteira é armazenada como um valor de ponto flutuante em intptr.
modf tiver uma implementação que usa Streaming SIMD 2 (SSE2 Extensions). Consulte _set_SSE2_enable para obter informações e as restrições para usar a implementação SSE2.
C++ reserva evitada, assim que você pode chamar sobrecargas de modf. No programa c, modf sempre usa dois valores duplas e retorna um valor duplo.
Requisitos
Rotina |
Cabeçalho necessário |
---|---|
modf, modff |
<math.h> |
Para informações adicionais de compatibilidade, consulte Compatibilidade na Introdução.
Bibliotecas
Todas as versões das Bibliotecas em tempo de execução C.
Exemplo
// 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 );
}
Saída
For -14.876543, the fraction is -0.876543 and the integer is -14