log2, log2f, log2l — base-2 logarithmic function


#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():



These functions return 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).


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).


These functions first appeared in glibc in version 2.1.


For an explanation of the terms used in this section, see attributes(7).

Interface Attribute Value
log2(), log2f(), log2l() Thread safety MT-Safe

Conforming to

C99, POSIX.1-2001, POSIX.1-2008.

The variant returning double also conforms to SVr4, 4.3BSD.

See Also

cbrt(3), clog2(3), log(3), log10(3), sqrt(3)


This page is part of release 5.04 of the Linux man-pages project. A description of the project, information about reporting bugs, and the latest version of this page, can be found at https://www.kernel.org/doc/man-pages/.

Referenced By

log(3), log10(3).

The man pages log2f(3) and log2l(3) are aliases of log2(3).

2017-09-15 Linux Programmer's Manual