Open In App

exp2() function in C++ STL

Last Updated : 03 Feb, 2023
Improve
Improve
Like Article
Like
Save
Share
Report

The exp2() is a builtin function in C++ STL that computes the base-2 exponential function of a given number. It can also be written as 2num.

Syntax

exp2(data_type num)

Parameter: The function accepts a single mandatory parameter num which specifies the value of the exponent. It can be positive, negative or 0. The parameter can be of type double, float or long double.
Return Value: It returns either a double, float or long double value which is equivalent to 2num.

Time Complexity: O(1)
Space Complexity: O(1)

Program 1

CPP




// C++ program to illustrate the
// exp2() function for negative double numbers
#include <cmath>
#include <iostream>
 
using namespace std;
 
int main()
{
    double n = -3.14;
 
    double ans = exp2(n);
    cout << "exp2(-3.14) = " << ans << endl;
 
    return 0;
}


Output: 

exp2(-3.14) = 0.11344

 

Program 2

CPP




// C++ program to illustrate the
// exp2() function for positive numbers
#include <cmath>
#include <iostream>
 
using namespace std;
 
int main()
{
    int n = 6;
 
    int ans = exp2(n);
    cout << "exp2(6) = " << ans << endl;
 
    return 0;
}


Output: 

exp2(6) = 64

 

Program 3

CPP




// C++ program to illustrate the
// exp2() function for 0
#include <cmath>
#include <iostream>
 
using namespace std;
 
int main()
{
    int n = 0;
 
    int ans = exp2(n);
    cout << "exp2(0) = " << ans << endl;
 
    return 0;
}


Output: 

exp2(0) = 1

 

Errors and Exceptions: If the magnitude of the result is too large to be represented by a value of the return type, the function returns HUGE_VAL (or HUGE_VALF or HUGE_VALL) with the proper sign, and an overflow range error occurs. 

Below program illustrate the error. 

CPP




// C++ program to illustrate the
// exp2() function for range overflow
#include <cmath>
#include <iostream>
 
using namespace std;
 
int main()
{
    // overflow will occur as 2^100 will not
    // fit to int data-type
    int n = 100;
 
    int ans = exp2(n);
    cout << "exp2(100) = " << ans << endl;
 
    return 0;
}


Output: 

exp2(100) = -2147483648

 



Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads