CodeCogs - An iteractive open source Numerical library Welcome... Login
CodeCogs
shopping cart
OSXWindowsLinux
Search CodeCogs
Numerical Pages

Valid RSS

CMath.h

frexp

About | FAQ | Contact
About FAQ Contact

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

viewed 9838 times


+View other versions (3)
Contents -

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 = 2^\mathrm{exp} x.
Example 1:
#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\n", x, fraction, e);
  return 0;
}

Output:
x = 1024.00 = 0.50 * 2^11

Special 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

fmod, modf

Standards

The frexp functions conform to ISO/IEC 9899:1999(E).
Last Modified: 2009-11-01 08:44:43     Page Rendered: 2010-03-09 18:06:57

Page Comments

Format Excel Equations

  You must login to leave a messge


Valid CSS!   Valid XHTML 1.0 Transitional