The ilogbf
function is a C library function that returns the exponent of a floating point argument as an integer.
The floating point is an alternative way to represent binary numbers with a fractional part.
Every floating point number has three parts:
Mantissa, which is the actual number.
Sign, which is the sign (+/-) of the mantissa.
Exponent, which sets the position of the binary point.
The following illustration shows the parts of a floating point number:
To use the ilogbf
function, we need to include the math.h
header file, as shown below:
#include <math.h>
The ilogbf
function takes a single argument and returns a single value. It is declared as follows:
The ilogbf
function takes a single argument of the float
type.
The ilogbf
function returns the exponent of the argument as a signed integer.
If the argument is zero, the return value is the FP_ILOGB0
macro. The value of FP_ILOGB0
is either INT_MIN
or - INT_MAX
.
If the argument is NaN
(not-a-number), the return value is FP_ILOGBNAN
macro. The value of FP_ILOGBNAN
is either INT_MIN
or INT_MAX
.
If the argument is infinite, then INT_MAX
is returned.
The value of
INT_MAX
is +2147483647. The value ofINT_MIN
is -2147483648.
The code below shows the use of the ilogbf
function in C:
#include <stdio.h>#include <math.h>int main() {//Declare valuesint exp = 0;float x = 125.9;//Call the functionexp = ilogbf (x);//Display the resultprintf ("The exponent is: %d\n", exp);return 0;}
Free Resources