Материал из C\C++ эксперт
frexp: decomposes the num into a mantissa in the range 0.5 to less than 1, and an integer exponent such that num = mantissa * 2^exp
//Declaration: float frexpf(float num, int *exp);
double frexp(double num, int *exp);
long double frexpl(long double num, int *exp);
//Return: The mantissa is returned by the function, and the exponent is stored at the variable pointed to by exp.
#include <math.h>
#include <stdio.h>
int main(void)
{
int e;
double f;
f = frexp(10.0, &e);
printf("%f %d", f, e);
}
/*
0.625000 4
*/