# C <math.h> - ilogb() Function

The C <math.h> ilogb() function returns the integer part of the logarithm of |x| (mod of argument), using FLT_RADIX as base for the logarithm. On most platforms, FLT_RADIX is 2.

In special cases, the following two specific macros are returned by the function:

MacrosDescription
FP_ILOGB0 Returned when x is zero.
FP_ILOGBNAN Returned when x is NaN.

### Syntax

```int ilogb  (double x);
int ilogbf (float x);
int ilogbl (long double x);
```

### Parameters

 `x` Specify the value to calculate ilogb.

### Return Value

Returns the integer part of the logarithm of |x|, using FLT_RADIX as base for the logarithm. In special cases, it returns the following:

• FP_ILOGB0, if i is zero.
• INT_MAX, if x is infinity.
• FP_ILOGBNAN, if x is a NaN.
• If the result is too large to be represented by a value of return type, the function returns an unspecified value, and an overflow range error occurs.

### Example:

The example below shows the usage of ilogb() function.

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

int main (){
printf("ilogb(10) = %d\n", ilogb(10));
printf("ilogb(-10) = %d\n", ilogb(-10));
return 0;
}
```

The output of the above code will be:

```ilogb(10) = 3
ilogb(-10) = 3
```

❮ C <math.h> Library

5