 |
Index for Section 3 |
|
 |
Alphabetical listing for F |
|
 |
Bottom of page |
|
frexp(3)
NAME
frexp, ldexp, logb, scalb - Manipulate floating-point numbers
SYNOPSIS
#include <math.h>
double frexp(
double x,
int *n );
float frexpf(
float x,
int *n );
long double frexpl(
long double x,
int *n );
double ldexp(
double y,
int n );
float ldexpf(
float y,
int n );
long double ldexpl(
long double y,
int n );
double logb(
double x );
float logbf(
float x );
long double logbl(
long double x );
double scalb(
double x,
double n );
float scalbf(
float x,
float n );
long double scalbl(
long double x,
long double n );
LIBRARY
Math Library (libm)
STANDARDS
Interfaces documented on this reference page conform to industry standards
as follows:
frexp(): XPG4
ldexp(): XPG4
logb(): XPG4-UNIX
scalb(): XPG4-UNIX
Refer to the standards(5) reference page for more information about
industry standards and associated tags.
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(), frexpf(), and frexpl() 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(), ldexpf(), and ldexpl() functions multiply a floating-point
number, y, by an integral power of 2.
The logb(), logbf(), and logbl() 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(), scalbf(), and scalbl() 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
_________________________________________________________________________
|x| = infinity Invalid argument
frexp(), frexpf(), frexpl()
|x| = infinity Invalid argument
logb(), logbf(), logbl()
Overflow
scalb(), scalbf(), scalbl()
x*(2**n) > max_float
Underflow
scalb(), scalbf(), scalbl()
x*(2**n) < min_float
Overflow
ldexp(), ldexpf(), ldexpl()
x*(2**n) > max_float
Underflow
ldexp(), ldexpf(), ldexpl()
x*(2**n) < min_float
_________________________________________________________________________
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
___________________________________________________________________
 |
Index for Section 3 |
|
 |
Alphabetical listing for F |
|
 |
Top of page |
|