modf, modff

Divide um valor de ponto flutuante para fracionária e partes 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 armazenados Inteiro parte.

Valor de retorno

Esta função retorna a parte fracionária assinado de x.Não há Sem erros retornar.

Comentários

As quebras de função modf Para Baixo o valor de ponto flutuante x em fracionária e partes de número inteiro, cada um deles tem o mesmo sinal que x. A parte fracionária assinado de x é retornado.O Inteiro parte é armazenada como um valor de ponto flutuante no intptr.

modf tem uma implementação que usa o fluxo contínuo Extensões SIMD 2 (SSE2).Consulte _set_SSE2_enable para informações e as restrições no usando a implementação de SSE2.

C++ permite sobrecarga, portanto, você pode chamar sobrecargas de modf.Em um programa C, modf sempre leva dois valores duplas e retorna um valor de duplo.

Requisitos

Rotina

Cabeçalho necessário

modf, modff

< Matemática.h >

Para informações de compatibilidade adicionais, consulte compatibilidade na introdução.

Bibliotecas

Tudo as versões do de 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

Equivalente do NET Framework

Consulte também

Referência

Suporte de ponto flutuante

Double longo

frexp

ldexp