![]() |
![]() |
![]() |
Exponent extraction
#include <math.h> int ilogb ( double x ); int ilogbf (float x );
libm
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.
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 |
#include <stdio.h> #include <stdlib.h> #include <math.h> int main( void ) { printf( "%f\n", ilogb(.5) ); return EXIT_SUCCESS; }
ilogb() is standard Unix; ilogbf() is ANSI (draft)
Safety: | |
---|---|
Cancellation point | No |
Interrupt handler | No |
Signal handler | No |
Thread | Yes |
log(), logb(), log10(), log1p()
![]() |
![]() |
![]() |