What is ilogbf() in C?

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:

32 bit floating point representation

To use the ilogbf function, we need to include the math.h header file, as shown below:

#include <math.h>

Syntax

The ilogbf function takes a single argument and returns a single value. It is declared as follows:

Parameter

The ilogbf function takes a single argument of the float type.

Return value

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 of INT_MIN is -2147483648.

Syntax

The code below shows the use of the ilogbf function in C:

#include <stdio.h>
#include <math.h>
int main() {
//Declare values
int exp = 0;
float x = 125.9;
//Call the function
exp = ilogbf (x);
//Display the result
printf ("The exponent is: %d\n", exp);
return 0;
}

Free Resources

Copyright ©2025 Educative, Inc. All rights reserved