C++ log2()

The function is defined in <cmath> header file.

[Mathematics] log2x = log2(x) [In C++ Programming]

log2() prototype [As of C++ 11 standard]

double log2(double x);
float log2(float x);
long double log2(long double x);
double log2(T x); // For integral type

The log2() function takes a single argument and returns a value of type double, float or long double.


log2() Parameters

The log2() function takes a single mandatory argument in the range [0, ∞].
If the value is less than zero, log2() returns NaN (Not a Number).


log2() Return value

The log2() function returns the base-2 logarithm of a number.

log2() return value
Parameter (x) Return Value
x > 1 Positive
x = 1 Zero
0 > x > 1 Negative
x = 0 -∞ (- infinity)
x < 0 NaN (Not a Number)

Example 1: How log2() function works in C++?

#include <iostream>
#include <cmath>

using namespace std;

int main ()
{
	double x = 13.056, result;

	result = log2(x);
	cout << "log2(x) = " << result << endl;

	x = -3.591;
	result = log2(x);
	cout << "log2(x) = " << result << endl;
	
	return 0;
}

When you run the program, the output will be:

log2(x) = 3.70664
log2(x) = nan

Example 2: log2() function with integral type

#include <iostream>
#include <cmath>

using namespace std;

int main ()
{
	double result;
	int x = 2201;

	result = log2(x);
	cout << "log2(" << x << ") = " << result << endl;

	return 0;
}

When you run the program, the output will be:

log2(2201) = 11.1039