[Previous] [Contents] [Next]

ilogb(), ilogbf()

Exponent extraction

Synopsis:

#include <math.h>

int ilogb ( double x );

int ilogbf (float x );

Library:

libm

Description:

The ilogb() and ilogbf() functions compute the integral part of:

log_r |x|

as a signed integral value, for nonzero finite x, where r is the radix of the machine's floating point arithmetic.

Returns:

The exponent part of x in integer format.

If x is: ilogb() returns:
0 -INT_MAX
NAN INT_MAX
negative infinity INT_MAX
positive infinity INT_MAX

Examples:

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

int main( void )
{
    printf( "%f\n", ilogb(.5) );
    
    return EXIT_SUCCESS;
}

Classification:

ilogb() is standard Unix; ilogbf() is ANSI (draft)

Safety:
Cancellation point No
Interrupt handler No
Signal handler No
Thread Yes

See also:

log(), logb(), log10(), log1p()


[Previous] [Contents] [Next]