Content-type: text/html Man page of frexp

# frexp

Section: C Library Functions (3)

## NAME

frexp, ldexp, logb, scalb - Manipulate floating-point numbers

## LIBRARY

Math Library (libm.a)

## SYNOPSIS

#include <math.h>

double frexp (double x, int *n); float frexpf (float x, int *n); double ldexp (double y, int n); float ldexpf (float y, int n); double logb (double x); float logbf (float x); double scalb (double x, double n); float scalbf (float x, float n);

## STANDARDS

Interfaces documented on this reference page conform to industry standards as follows:

frexp(): XPG4

ldexp(): XPG4

logb(): XPG4-UNIX

scalb(): XPG4-UNIX

## DESCRIPTION

Every nonzero number can be written uniquely as the normalized mantissa (fraction) z times 2 raised to the power p, where the absolute value of z is in the range [0.5, 1.0), and the exponent p, is an integer.

The frexp() and frexpf() functions break a floating-point number into a normalized fraction and an integral power of 2. The functions store the integer in the int object pointed to by the n parameter and return the fraction part.

The ldexp() and ldexpf() functions multiply a floating-point number, y, by an integral power of 2.

The logb() and logbf() functions return a signed integer converted to double-precision floating-point and so chosen that 1 <= |x|/2**n < 2 unless x = 0 or |x| = infinity or x lies between 0 and the Underflow Threshold.

IEEE 754 defines logb(+infinity) = +infinity and logb(0) = -infinity. The latter is required to signal Division-by-Zero.

The scalb() and scalbf() functions are defined as x*(2**n) for integer n.

The following table describes function behavior in response to exceptional arguments:

 Function Exceptional Argument Routine Behavior frexp(), frexpf() |x| = infinity Invalid argument logb(), logbf() |x| = infinity Invalid argument scalb(), scalbf() x*(2**n) > max_float Overflow scalb(), scalbf() x*(2**n) < min_float Underflow ldexp(), ldexpf() x*(2**n) > max_float Overflow ldexp(), ldexpf() x*(2**n) < min_float Underflow

The following table lists boundary values used by these functions:
 Value Name Data Type Hexadecimal Value Decimal Value max_float S_FLOAT 7F7FFFFF 3.402823e38 T_FLOAT 7FEFFFFFFFFFFFFF 1.797693134862316e308 min_float S_FLOAT 00000001 1.4012985e-45 T_FLOAT 0000000000000001 4.940656458412465e-324
delim off

## Index

NAME
LIBRARY
SYNOPSIS
STANDARDS
DESCRIPTION

This document was created by man2html, using the manual pages.
Time: 02:42:18 GMT, October 02, 2010