ILOGB(3) BSD Programmer's Manual ILOGB(3)

## NAME

**ilogb**, **ilogbf** - an unbiased exponent

## LIBRARY

libm

## SYNOPSIS

**#include <math.h>**
*int*
**ilogb**(*double x*);
*int*
**ilogbf**(*float x*);

## DESCRIPTION

The **ilogb**() and **ilogbf**() functions return the exponent of the non-zero
real floating-point number *x* as a signed integer value. Formally the re-
turn value is the integral part of
log_r | *x* ,
where *r* is the radix of the machine's floating-point arithmetic defined
by the FLT_RADIX constant in <*float.h*>.

## RETURN VALUES

As described above, upon successful completion, the functions return the
exponent. Functionally this is the same as calling the corresponding
logb(3) function and casting the return value to *int*.
The following special cases may occur:
1. If *x* is zero, the value of FP_ILOGB0 is returned and a domain
error occurs.
2. If *x* is infinite, a domain error occurs and the value of
INT_MAX is returned.
3. If *x* is *NaN*, a domain error is raised and the value of
FP_ILOGBNAN is returned.
4. If the correct value is outside the range of the return type,
a domain error occurs but an unspecified value is returned.

## SEE ALSO

ilog2(3), logb(3), math(3)

## STANDARDS

The described functions conform to ISO/IEC 9899:1999 ("ISO C99").

## BUGS

Neither FP_ILOGB0 nor FP_ILOGBNAN is defined currently in NetBSD.
MirOS BSD #10-current February 9, 2014 1

Generated on 2017-04-03 16:26:17 by `$MirOS: src/scripts/roff2htm,v 1.88 2017/01/29 00:51:06 tg Exp $`

These manual pages and other documentation are copyrighted by their respective writers;
their source is available at our CVSweb,
AnonCVS, and other mirrors. The rest is Copyright © 2002–2017 The MirOS Project, Germany.

This product includes material
provided by **mirabilos**.

This manual page’s HTML representation
is supposed to be valid
XHTML/1.1; if not, please send a bug report — diffs preferred.