frexp
Breaks a floating-point number into a normalized fraction and an integral power of 2
#include <math.h> double frexp ( double value, int *exp);
The frexp function returns the value of x, such that x is a double with magnitude in the interval (0.5,1) or zero, and value equals x times 2 raised to the power * exp. If value is zero, then both parts of the result are zero.
The frexp function breaks a floating-point number into a normalized fraction and an integral power of 2. It stores the integral power of 2 in the int object pointed to by exp.
#include <math.h> #include <stdio.h> main () { int expon; printf ("%f %d\n", frexp (4.25, &expon), expon); printf ("%f %d\n", frexp (-4.25, &expon), expon); }
produces the following:
0.531250 3 -0.531250 3