Delen via


modf, modffmodfl

Splitst een drijvende-kommawaarde in fractionele en gehele getallen.

Syntaxis

double modf( double x, double * intptr );
float modff( float x, float * intptr );
long double modfl( long double x, long double * intptr );
float modf( float x, float * intptr );  // C++ only
long double modf( long double x, long double * intptr );  // C++ only

Parameterwaarden

x
Drijvendekommawaarde.

intptr
Aanwijzer naar opgeslagen gehele getallen.

Retourwaarde

Met deze functie wordt het ondertekende breukgedeelte van x. Er is geen fout geretourneerd.

Opmerkingen

De modf functies splitsen de drijvende-kommawaarde x op in breuk- en gehele getallen, die elk hetzelfde teken hebben als x. Het ondertekende breukgedeelte van x wordt geretourneerd. Het gedeelte geheel getal wordt opgeslagen als een drijvende-kommawaarde op intptr.

modf heeft een implementatie die gebruikmaakt van Streaming SIMD Extensions 2 (SSE2). Zie _set_SSE2_enable voor informatie en beperkingen voor het gebruik van de SSE2-implementatie.

C++ staat overbelasting toe, zodat u overbelastingen van modf die take en return float of long double parameters kunt aanroepen. In een C-programma modf worden altijd twee dubbele waarden gebruikt en wordt een dubbele waarde geretourneerd.

De globale status van deze functie is standaard gericht op de toepassing. Als u dit gedrag wilt wijzigen, raadpleegt u de globale status in de CRT.

Requirements

Routine Vereiste header
modf, modffmodfl C: <math.h>

C++: <cmath> of <math.h>

Zie Compatibiliteit voor meer compatibiliteitsinformatie.

Example

// 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 );
}
For -14.876543, the fraction is -0.876543 and the integer is -14

Zie ook

Wiskunde- en zwevende-komma-ondersteuning
frexp
ldexp