C語言exp()函數:e的次冪函數(以e為底的x次方值)
頭文件:
#include <math.h>
exp()用來計算以e 為底的x 次方值,即ex 值,然后將結果返回。其原型為:
double exp(double x);
【返回值】返回 e 的x 次方計算結果。
注意,使用 GCC 編譯時請加入-lm。
【實例】計算e的10次方的值。
#include <math.h>main(){ double answer; answer = exp (10); printf("e^10 =%f/n", answer);}
運行結果:
e^10 = 22026.465795
C語言ldexp()函數:返回x乘上2的exp次方的值
頭文件:
#include <math.h>
ldexp()用來求一個數乘上2的exp次方的值,原型為:
double ldexp(double x, int exp);
【參數】x 為尾數,exp 為冪數。
設返回值為 ret,則 ret = x * 2exp
【返回值】返回 ret。
注意,使用 GCC 編譯時請加入-lm。
【范例】計算3*(2^2) 的值。
#include <math.h>main(){ int exp; double x, answer; answer = ldexp(3, 2); printf("3*2^(2) = %f/n", answer);}
運算結果:
3*2^(2) = 12.000000
C語言frexp()函數:把一個浮點數分解為尾數和指數
頭文件:
#include <math.h>
frexp()用來把一個數分解為尾數和指數,其原型為:
double frexp(double x, int *exp);
【參數】x 為待分解的浮點數,exp 為存儲指數的指針。
設返回值為 ret,則 x = ret * 2exp,其中 exp 為整數,ret 的絕對值在 0.5(含) 到 1(不含) 之間。
如果 x = 0,則 ret = exp = 0
【返回值】將尾數 ret 返回。
注意,使用 GCC 編譯時請加入-lm。
請看下面的代碼:
#include <stdio.h> /* printf */#include <math.h> /* frexp */int main (){ double param, result; int n; param = 8.0; result = frexp (param , &n); printf ("%f = %f * 2^%d/n", param, result, n); return 0;}
輸出結果:
8.000000 = 0.500000 * 2^4
242.354000 = 0.946695 * 2^8
新聞熱點
疑難解答
圖片精選