# log2 man page

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

_ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L

## Description

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

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

## Attributes

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

## Referenced By

Explore man page connections for log2(3).

log2f(3) and log2l(3) are aliases of log2(3).