cplusplus.com cplusplus.com
cplusplus.com   C++ : Reference : C Library : cmath (math.h) : modf
 
- -
C++
Information
Documentation
Reference
Articles
Sourcecode
Forum
Reference
C Library
IOstream Library
Strings library
STL Containers
STL Algorithms
C Library
cassert (assert.h)
cctype (ctype.h)
cerrno (errno.h)
cfloat (float.h)
climits (limits.h)
clocale (locale.h)
cmath (math.h)
csetjmp (setjmp.h)
csignal (signal.h)
cstdarg (stdarg.h)
cstddef (stddef.h)
cstdio (stdio.h)
cstdlib (stdlib.h)
cstring (string.h)
ctime (time.h)
cmath (math.h)
functions:
· acos
· asin
· atan
· atan2
· ceil
· cos
· cosh
· exp
· fabs
· floor
· fmod
· frexp
· ldexp
· log
· log10
· modf
· pow
· sin
· sinh
· sqrt
· tan
· tanh
macro constants:
· HUGE_VAL

-

modf function
     double modf ( long double x, long double * intpart );
long double modf ( long double x, long double * intpart );
      float modf (       float x,       float * intpart );
<cmath>

Break into fractional and integral parts

Breaks x into two parts: the integer part (stored in the object pointed by intpart) and the fractional part (returned by the function).

Each part has the same sign as x.

Parameters

x
Floating point value.
intpart
Pointer to an object where the integral part is to be stored.

Return Value

The fractional part of x, with the same sign.

Portability

In C, only the double version of this function exists with this name.

Example

/* modf example */
#include <stdio.h>
#include <math.h>

int main ()
{
  double param, fractpart, intpart;

  param = 3.14159265;
  fractpart = modf (param , &intpart);
  printf ("%lf = %lf + %lf \n", param, intpart, fractpart);
  return 0;
}

Output:


3.141593 = 3.000000 + 0.141593

See also

ldexp Generate number from significand and exponent (function)
frexp Get significand and exponent (function)
© The C++ Resources Network, 2000-2007 - All rights reserved
Spotted an error? - contact us