當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。