modf
, modff
, modfl
Splits a floating-point value into fractional and integer parts.
Syntax
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
Parameters
x
Floating-point value.
intptr
Pointer to stored integer portion.
Return value
This function returns the signed fractional portion of x
. There's no error return.
Remarks
The modf
functions break down the floating-point value x
into fractional and integer parts, each of which has the same sign as x
. The signed fractional portion of x
is returned. The integer portion is stored as a floating-point value at intptr
.
modf
has an implementation that uses Streaming SIMD Extensions 2 (SSE2). See _set_SSE2_enable
for information and restrictions on using the SSE2 implementation.
C++ allows overloading, so you can call overloads of modf
that take and return float
or long double
parameters. In a C program, modf
always takes two double values and returns a double value.
By default, this function's global state is scoped to the application. To change this behavior, see Global state in the CRT.
Requirements
Routine | Required header |
---|---|
modf , modff , modfl |
C: <math.h> C++: , <cmath> or <math.h> |
For more compatibility information, see Compatibility.
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
See also
Feedback
https://aka.ms/ContentUserFeedback.
În curând: Pe parcursul anului 2024, vom elimina treptat Probleme legate de GitHub ca mecanism de feedback pentru conținut și îl vom înlocui cu un nou sistem de feedback. Pentru mai multe informații, consultați:Trimiteți și vizualizați feedback pentru