logb, logbf—get exponent of floating-point number #include <math.h>
double logb(double x);
float logbf(float x);
Description
The logb functions extract the exponent of x, as a signed integer value
in floating-point format. If x is subnormal it is treated as though it were
normalized; thus, for positive finite x,
1 <= (x * FLT_RADIX to the power (-logb(x))) < FLT_RADIX.
A domain error may occur if the argument is zero.
In this floating-point implementation, FLT_RADIX is 2. Which also means
that for finite x, logb(x) = floor(log2(fabs(x))).
All nonzero, normal numbers can be described as
m * 2**p, where 1.0 <= m < 2.0.
The logb functions examine the argument x, and return p.
The frexp functions are similar to the logb functions, but
returning m adjusted to the interval [.5, 1) or 0, and p+1.
Returns
logb functions return the signed exponent of x.
Portability
See Also