当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


C++ exp2()用法及代码示例


exp2()是C++ STL中的内置函数,可计算给定数字的以2为底的 index 函数。也可以写成2num

用法

exp2(data_type num)

参数:该函数接受单个强制参数num,该参数指定 index 的值。它可以是正数,负数或0。参数的类型可以是double,float或long double。


返回值:它返回一个double,float或long double值,该值等于2num

程序1:

// 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; 
}
输出:
exp2(-3.14) = 0.11344

程序2:

// 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; 
}
输出:
exp2(6) = 64

程序3:

// 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; 
}
输出:
exp2(0) = 1

错误和异常:如果结果的大小太大而无法用返回类型的值表示,则该函数将返回带有正确符号的HUGE_VAL(或HUGE_VALF或HUGE_VALL),并且会发生溢出范围错误。

以下示例程序旨在说明该错误。

// 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; 
}
输出:
exp2(100) = -2147483648


相关用法


注:本文由纯净天空筛选整理自IshwarGupta大神的英文原创作品 exp2() function in C++ STL。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。