---
name: "ilogb"
section: "3"
platform: "freebsd"
package: "base"
version: "16.0-CURRENT-20261027-61c70dc16a79"
release: "FreeBSD 16.0-CURRENT (2026-10-27)"
platforms: ["linux", "freebsd"]
url: "https://new.carta.tech/ilogb"
---

# ilogb(3)

extract exponent

## NAME

**ilogb**, **ilogbf**, **ilogbl**, **logb**, **logbf**, **logbl** – extract exponent

## LIBRARY

Math Library (libm, -lm)

## SYNOPSIS

**#include \<math.h\>**

*int*\

**ilogb**(*double x*);

*int*\

**ilogbf**(*float x*);

*int*\

**ilogbl**(*long double x*);

*double*\

**logb**(*double x*);

*float*\

**logbf**(*float x*);

*long* *double*\

**logbl**(*long double x*);

## DESCRIPTION

**ilogb**(), **ilogbf**() and **ilogbl**() return *x*'s exponent in integer format. **ilogb**() returns INT\_MAX, **ilogb**() returns FP\_ILOGBNAN, and **ilogb**(*0*) returns FP\_ILOGB0.

**logb**(*x*), **logbf**(*x*), and **logbl**(*x*) return *x*'s exponent in floating-point format with the same precision as *x*. **logb**() returns +, and **logb**(*0*) returns - with a division by zero exception.

## SEE ALSO

[frexp(3)](/frexp/3.md), [ieee(3)](/ieee/3.md), [math(3)](/math/3.md), [scalbn(3)](/scalbn/3.md)

## STANDARDS

The **ilogb**(), **ilogbf**(), **ilogbl**(), **logb**(), **logbf**(), and **logbl**() routines conform to ISO/IEC 9899:1999 (“ISO C99”). The latter three implement the logb function recommended by IEEE Std 754-1985.

## HISTORY

- *Function*

  *First Appeared In*

- **logb**()

  4\.3BSD

- **ilogb**()

  FreeBSD 1.1.5

- **ilogbf**()

  FreeBSD 2.0

- **logbf**()

  FreeBSD 2.0

- **ilogbl**()

  FreeBSD 5.4

- **logbl**()

  FreeBSD 8.0
