Compartilhar via


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

Equivalência do .NET Framework

Consulte também

Referência

Suporte de ponto flutuante

Duplo longo

frexp

ldexp