break floating-point number into normalized fraction and power of 2

You're viewing an older version of this page (#3322). View the current version.

View versions (4)

NAME

frexp

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 [1/2, 1) or 0, and value = x*(2**exp).

#include <math.h>
#include <stdio.h>

int main(void)
{
int e;
double f;

f = frexp(10.0, &e);
printf("%f %d", f, e);

}

Output :

0.625000 4

SPECIAL VALUES

frexp ( 0 ,exp ) returns 0, and stores 0 in the object pointed to by exp.

frexp ( &infin;, exp ) returns &infin;, 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.

STANDARDS

The frexp functions conform to ISO/IEC 9899:1999(E).