`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.