Udostępnij za pośrednictwem


modf, modff

Dzieli wartość zmiennoprzecinkowa na ułamkowe i części liczby całkowitej.

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 
);

Parametry

  • x
    Wartość zmiennoprzecinkowa.

  • intptr
    Wskaźnik do części przechowywanej liczby całkowitej.

Wartość zwracana

Ta funkcja zwraca podpisany część ułamkową liczby x.Istnieje bez powrotu błąd.

Uwagi

modf Funkcja dzieli wartość zmiennoprzecinkowa x do ułamkowe i całkowitą części, z których każda ma taki sam znak jak x. Podpisana część ułamkowa x jest zwracany.Część całkowita jest przechowywana jako wartość zmiennoprzecinkowa na intptr.

modfjest implementacja używa Streaming SIMD Extensions 2 (SSE2).Zobacz _set_SSE2_enable informacji i ograniczenia dotyczące korzystania z implementacji SSE2.

C++ zezwala na przeciążenie, więc można wywoływać przeciążenia modf.W programie c modf zawsze przyjmuje dwa podwójne wartości i zwraca wartość podwójną.

Wymagania

Rozpoczęto wykonywanie procedury

Wymaganego nagłówka

modf, modff

<math.h>

Aby uzyskać dodatkowe informacje o zgodności, zobacz zgodności we wprowadzeniu.

Biblioteki

Wszystkie wersje biblioteki uruchomieniowej c.

Przykład

// 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 );
}

Dane wyjściowe

For -14.876543, the fraction is -0.876543 and the integer is -14

Odpowiednik w programie .NET Framework

Zobacz też

Informacje

Wsparcie zmiennoprzecinkowe

Podwójne długie

frexp

ldexp