#include <math.h> main () { double val = 16.0, fraction; int exp; fraction = frexp(val, &exp); printf("fraction = %f\n",fraction); printf("exp = %d\n",exp); } In this example, frexp converts the value 16 to .5 * 2 . The example produces the following output: fraction = 0.500000 exp = 5 |value| = Infinity or NaN is an invalid argument.