程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> 關於C++ >> 詳解C說話的exp()函數和ldexp()函數和frexp()函數

詳解C說話的exp()函數和ldexp()函數和frexp()函數

編輯:關於C++

詳解C說話的exp()函數和ldexp()函數和frexp()函數。本站提示廣大學習愛好者:(詳解C說話的exp()函數和ldexp()函數和frexp()函數)文章只能為提供參考,不一定能成為您想要的結果。以下是詳解C說話的exp()函數和ldexp()函數和frexp()函數正文


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

將第 7 行 param 的值改成 242.354,則輸入成果為:
242.354000 = 0.946695 * 2^8
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved