FREXP(3) Library Functions Manual FREXP(3)

frexpextract mantissa and exponent from a double precision number

#include <math.h>

double frexp(double num, int *exp);

The frexp() function breaks a floating-point number into a normalised fraction and an integral power of 2. It stores the integer exponent in the int object pointed to by exp .

An application wishing to check for error situations should set errno to 0 before calling . If errno is non-zero on return, or the return value is NaN, an error has occurred.

The frexp() function returns the value x , such that x is a double with magnitude in the interval [½, 1) or 0, and num equals x times 2 raised to the power *exp .

If num is 0, both parts of the result are 0.

If num is NaN, NaN is returned, errno may be set to [EDOM] and the value of *exp is unspecified.

If num is ±Inf, num is returned, errno may be set to [EDOM] and the value of *exp is unspecified.

The frexp() function may fail if:

The value of num is NaN or ±Inf.

No other errors will occur.

None.

None.

None.

isnan(3) , ldexp(3) , modf(3) , <math.h> .

Derived from Issue 1 of the SVID.

February 1997 posix.fail