frexp
break floating-point number into normalized fraction and power of 2
You're viewing an older version of this page (#4008). View the current version.
INTERFACE
#include <math.h>
double frexp ( double value, int *exp )
long frexpl ( long double value, int *exp )
float frexpf ( float value, int *exp )
DESCRIPTION
The frexp functions break the floating-point number value into a normalized fraction and an integral power of 2. They store the integer in the int object pointed to by exp.
The functions return a number x such that x has a magnitude in the interval or 0, and value =
.
Example 1
\code #include <stdio.h> #include <math.h> int main(void) { double x = 1024, fraction; int e; fraction = frexp(x, &e); printf("x = %.2lf = %.2lf * 2^%d
", x, fraction, e); return 0; } \endcode
Output:
x = 1024.00 = 0.50 * 2^11SPECIAL VALUES
frexp (0, exp) returns 0, and stores 0 in the object pointed to by exp.
frexp (∞, exp) returns ∞ and stores an unspecified value in the object pointed to by exp.
frexp (NaN, exp) returns a NaN, and stores an unspecified value in the object pointed to by exp.
SEE ALSO
STANDARDS
The frexp functions conform to ISO/IEC 9899:1999(E).