double frexp(double x,
             int *exp);

frexp breaks a floating-point number into a normalized fraction and an integral power of 2.

frexp stores power of two in the int object pointed to by exp and returns the value x, such that x has a magnitude in the interval [1/2, 1) or zero, and value equals x * 2^exp.

If x is zero, both parts of the result are zero.

If x is ∞ or NaN, frexp returns x and stores zero into the int object pointed to by exp.