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

Equivalência do .NET Framework

Consulte também

Referência

Suporte de ponto flutuante

Long Double

frexp

ldexp