frexp, frexpf,
    frexpl — convert
    floating-point number to fractional and integral components
#include
  <math.h>
double
  
  frexp(double
    value, int
  *exp);
float
  
  frexpf(float
    value, int
  *exp);
long double
  
  frexpl(long
    double value, int
    *exp);
The
    frexp(),
    frexpf()
    and
    frexpl()
    functions break a floating-point number into a normalized fraction and an
    integral power of 2. They store the integer in the int
    object pointed to by exp.
These functions return the value x, such
    that x is a double with
    magnitude in the interval [1/2, 1) or zero, and value
    equals x times 2 raised to the power
    *exp. If value is zero, both
    parts of the result are zero.
The frexp(),
    frexpf(), and frexpl()
    functions conform to ISO/IEC 9899:1999
    (“ISO C99”).