modf, modff
Divide um valor de ponto flutuante em fracionária e peças 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 inteira armazenado.
Valor de retorno
Esta função retorna a parte fracionária assinada do x.Não há nenhum retorno de erro.
Comentários
O modf função divide o valor de ponto flutuante x em fracionária e partes de inteiro, cada um deles tem o mesmo sinal que x. a parte fracionária assinada do x é retornado.A parte inteira é armazenada como um valor de ponto flutuante em intptr.
modftem uma implementação que usa o Streaming SIMD Extensions 2 (SSE2).Consulte _set_SSE2_enable para obter informações e restrições usando a implementação do SSE2.
C++ permite sobrecarga, portanto, você pode chamar métodos sobrecarregados de modf.Em um programa em C, modf sempre usa dois valores double e retorna um valor duplo.
Requisitos
Rotina |
Cabeçalho necessário |
---|---|
modf, modff |
<math.h> |
Para obter informações adicionais de compatibilidade, consulte compatibilidade na introdução.
Bibliotecas
Todas as versões da bibliotecas de 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