log2, log2f, log2l

Determines the binary (base-2) logarithm of the specified value.

Syntax

double log2(
   double x
);

float log2(
   float x
); //C++ only

long double log2(
   long double x
); //C++ only

float log2f(
   float x
);

long double log2l(
   long double x
);

Parameters

x
The value to determine the base-2 logarithm of.

Return Value

On success, returns return log2 x.

Otherwise, may return one of the following values:

Issue Return
x < 0 NaN
x = ±0 -INFINITY
x = 1 +0
+INFINITY +INFINITY
NaN NaN
domain error NaN
pole error -HUGE_VAL, -HUGE_VALF, or -HUGE_VALL

Errors are reported as specified in _matherr.

Remarks

If x is an integer, this function essentially returns the zero-based index of the most significant 1 bit of x.

Requirements

Function C header C++ header
log2, log2f, log2l <math.h> <cmath>

For additional compatibility information, see Compatibility.

See also

Alphabetical Function Reference
exp2, exp2f, exp2l
log, logf, log10, log10f