C ++中的expm1()函數(shù)計(jì)算e^x - 1的值。對于較小值的x,e^x - 1 比 exp(x) - 1更精確。
該函數(shù)在<cmath>頭文件中定義。
ex - 1 = expm1(x)
double expm1(double x); float expm1(float x); long double expm1(long double x); double expm1(T x); //在此,T是整數(shù)類型。
expm1()函數(shù)采用單個強(qiáng)制性參數(shù)(可以為正,負(fù)或0)。
expm1()函數(shù)返回[-1,∞]范圍內(nèi)的值。
如果結(jié)果的大小太大而無法用返回類型的值表示,則該函數(shù)將返回帶有正確符號的HUGE_VAL,并且會發(fā)生溢出范圍錯誤。
#include <iostream> #include <cmath> using namespace std; int main() { double x = 2.19, result; result = expm1(x); cout << "e^" << x << " - 1 = " << result << endl; return 0; }
運(yùn)行該程序時,輸出為:
e^2.19 - 1 = 7.93521
#include <iostream> #include <cmath> using namespace std; int main() { int x = 4; double result; result = expm1(x); cout << "e^" << x << " - 1 = " << result << endl; return 0; }
運(yùn)行該程序時,輸出為:
e^4 - 1 = 53.5982