Updated: 2022/Sep/29

Please read Privacy Policy. It's for your privacy.


ILOG2(3)                   Library Functions Manual                   ILOG2(3)

NAME
     ilog2 - integer base-2 logarithm

SYNOPSIS
     #include <sys/bitops.h>

     int
     ilog2(size x);

DESCRIPTION
     For positive x, the ilog2() macro returns the integer part of the base-2
     logarithm of x; that is, floor(log_2(x)).  If n = ilog2(x), then n is the
     largest integer such that 2**n <= x; in other words, ilog2() returns the
     largest integer to which 2 can be raised to obtain a value at most x.

     The type of the input parameter must be unsigned.

     If x is a constant expression, then so is ilog2(x).

ERRORS
     ilog2() returns -1 when x is zero.

SEE ALSO
     bitops(3), ffs(3), ilogb(3), log2(3), imax(9), powerof2(9)

HISTORY
     The ilog2() macro first appeared in NetBSD 5.0.

NetBSD 10.99                   November 5, 2021                   NetBSD 10.99