`double frexp(double __x, int *__pexp)`

The frexp() function breaks a floating-point number into a normalized fraction and an integral power of 2. It stores the integer in the `int`

object pointed to by *__pexp*.

If *__x* is a normal float point number, the frexp() function returns the value `v`

, such that `v`

has a magnitude in the interval [1/2, 1) or zero, and *__x* equals `v`

times 2 raised to the power *__pexp*. If *__x* is zero, both parts of the result are zero. If *__x* is not a finite number, the frexp() returns *__x* as is and stores 0 by *__pexp*.

Note:

This implementation permits a zero pointer as a directive to skip a storing the exponent.