用庫函數(shù)math.h 這里面的log就是數(shù)學(xué)里面ln(底數(shù)為e的那個家伙)的意思。如下代碼例子
榆樹網(wǎng)站制作公司哪家好,找成都創(chuàng)新互聯(lián)公司!從網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、響應(yīng)式網(wǎng)站設(shè)計等網(wǎng)站項(xiàng)目制作,到程序開發(fā),運(yùn)營維護(hù)。成都創(chuàng)新互聯(lián)公司于2013年開始到現(xiàn)在10年的時間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選成都創(chuàng)新互聯(lián)公司。
#includestdio.h
#includemath.h
main()
{
double?k;
k=log(2.71828);
printf("?%f?",k);
k=log(8)/log(2);
printf("?%f?",k);
}
第一k是ln(e)的意思,e約為2.71828,屏幕上打印出值為0.999999,
第二k是求底數(shù)為2真數(shù)為8的值log2(8)=ln(8) /ln(2) (這個數(shù)學(xué)轉(zhuǎn)化式我不用多說),打印出來的結(jié)果是3.000000
可以通過庫函數(shù)log( )來求ln x
函數(shù)原型:double log(double x);
功能:求ln(x)
返回值:計算結(jié)果
舉例如下:
double?x=2.73,?y;
y?=?log(x);??//?計算ln(x),并將計算結(jié)果賦值給變量y
注:使用log函數(shù)時,需要將頭文件#includemath.h添加進(jìn)源文件中。
擴(kuò)展資料:
C語言是一門通用計算機(jī)編程語言,廣泛應(yīng)用于底層開發(fā)。C語言的設(shè)計目標(biāo)是提供一種能以簡易的方式編譯、處理低級存儲器、產(chǎn)生少量的機(jī)器碼以及不需要任何運(yùn)行環(huán)境支持便能運(yùn)行的編程語言。
特有特點(diǎn)
1、C語言是一個有結(jié)構(gòu)化程序設(shè)計、具有變量作用域(variable scope)以及遞歸功能的過程式語言。
2、C語言傳遞參數(shù)均是以值傳遞(pass by value),另外也可以傳遞指針(a pointer passed by value)。
3、不同的變量類型可以用結(jié)構(gòu)體(struct)組合在一起。
4、只有32個保留字(reserved keywords),使變量、函數(shù)命名有更多彈性。
5、部份的變量類型可以轉(zhuǎn)換,例如整型和字符型變量。
6、通過指針(pointer),C語言可以容易的對存儲器進(jìn)行低級控制。
7、預(yù)編譯處理(preprocessor)讓C語言的編譯更具有彈性。
參考資料:(百度百科:c語言)
首先在C語言中要用到指數(shù)、對數(shù)的相關(guān)公式,需要引入math.h。另外ln是以e為底數(shù),lg是以10為底數(shù)。
代碼如下:
#includestdio.h
#includemath.h
void main()
{
double exponent, base;
exponent = 3.14;
printf("ln(%f) = %.2f\n", exponent, log(exponent));//以e為底數(shù)的對數(shù)
exponent = 100;
printf("lg(%.f) = %.2f\n", exponent, log10(exponent));//以10為底數(shù)的對數(shù)
base = 5, exponent = 100;
printf("log_%.f(%.f) = %.2f\n", base, exponent, log(exponent)/log(base));//換底公式
return 0;
}
在求log_5(100)時需要用到“換底公式”:log_5(100) = ln(100)/ln(5)。
擴(kuò)展資料:
math.h文件中包含的函數(shù)主要分為以下幾類:
1、三角函數(shù)、反三角函數(shù)、雙曲三角函數(shù)。
2、指數(shù)、對數(shù)。
3、取整、絕對值。
4、標(biāo)準(zhǔn)化浮點(diǎn)數(shù)。
涉及參數(shù)類型為double類型。
參考資料:
百度百科——換底公式
百度百科——math.h
C語言不是數(shù)學(xué),這里在運(yùn)算的時候會讀值,你設(shè)變量,是讀不到值得,那么分母就有問題,你這很明顯不了解編程,編程不可能把你數(shù)學(xué)表達(dá)式錄進(jìn)來就可以的,你這除法要自己寫算法
在C++/C語言中,對數(shù)函數(shù)y = lnx的表示方法為y = log(x),函數(shù)的完整原型為:double log(double x)。
#includecstdio
#includealgorithm
#includecmath
using namespace std;
int main()
{
printf("%f\n",log(10));
return 0;
} ?
擴(kuò)展資料
C語言 log10() 函數(shù)用來求以 10 為底的對數(shù)值。
頭文件:math.h
語法/原型:double log10(double x);
參數(shù) x 是一個雙精度數(shù)。
返回值:以 10 為底的 x 的對數(shù)值。
【實(shí)例】使用C語言 log10() 函數(shù)求以 10 為底的 40 的對數(shù)。
#include stdio.h
#include math.h
int main() {
double m = 40; ?//為變量賦初值
double n = log10(m); ?//求以10為底的參數(shù)40的對數(shù)
printf("%lf\n", n);
return 0;
}
運(yùn)行結(jié)果:
1.602060
math.h里面就有
double
log
(double);
以e為底的對數(shù)
如果你是想自己寫一個函數(shù)的話,那得用級數(shù)展開,展成多項(xiàng)式
ln(x)
=
-sum_(k=1)^infinity((-1)^k
(-1+x)^k)/k
for
|-1+x|1