**NAME**

log2, log2f, log2l - base-2 logarithmic function

**SYNOPSIS**

**#include** **<math.h>**
**double** **log2(double** __x__**);**
**float** **log2f(float** __x__**);**
**long** **double** **log2l(long** **double** __x__**);**
Link with __-lm__.
Feature Test Macro Requirements for glibc (see **feature_test_macros**(7)):
**log2**(), **log2f**(), **log2l**(): _XOPEN_SOURCE >= 600 || _ISOC99_SOURCE; or
__cc__ __-std=c99__

**DESCRIPTION**

The **log2**() function returns the base 2 logarithm of __x__.

**RETURN** **VALUE**

On success, these functions return the base 2 logarithm of __x__.
For special cases, including where __x__ is 0, 1, negative, infinity, or
NaN, see **log**(3).

**ERRORS**

See **math_error**(7) for information on how to determine whether an error
has occurred when calling these functions.
For a discussion of the errors that can occur for these functions, see
**log**(3).

**VERSIONS**

These functions first appeared in glibc in version 2.1.

**CONFORMING** **TO**

C99, POSIX.1-2001. The variant returning __double__ also conforms to SVr4,
4.3BSD, C89.

**SEE ALSO**

**cbrt**(3), **clog2**(3), **sqrt**(3)

**COLOPHON**

This page is part of release 3.24 of the Linux __man-pages__ project. A
description of the project, and information about reporting bugs, can
be found at http://www.kernel.org/doc/man-pages/.
2008-08-11