#include stdio.h#include math.h
創(chuàng)新互聯(lián)公司秉承實(shí)現(xiàn)全網(wǎng)價(jià)值營(yíng)銷的理念,以專業(yè)定制企業(yè)官網(wǎng),做網(wǎng)站、網(wǎng)站設(shè)計(jì),微信小程序開發(fā),網(wǎng)頁設(shè)計(jì)制作,手機(jī)網(wǎng)站制作,成都全網(wǎng)營(yíng)銷推廣幫助傳統(tǒng)企業(yè)實(shí)現(xiàn)“互聯(lián)網(wǎng)+”轉(zhuǎn)型升級(jí)專業(yè)定制企業(yè)官網(wǎng),公司注重人才、技術(shù)和管理,匯聚了一批優(yōu)秀的互聯(lián)網(wǎng)技術(shù)人才,對(duì)客戶都以感恩的心態(tài)奉獻(xiàn)自己的專業(yè)和所長(zhǎng)。
void main()
{
double i = 2, j =4;
printf("log2,4 = %f\n",log(j)/log(i));
}
//log函數(shù)是以e為底的,還有一個(gè)log10以10為底,可以利用logi,j=loge,j/loge,i來算。
x的自然對(duì)數(shù)用log(x)表示
常用對(duì)數(shù)用log10(x)表示
#includestdio.h
#includemath.h
int main()
{int i;
for(i=1;i=10;i++)
printf("log10(%d)=%lf\n",i,log10(i));
return 0;
}
C語言中沒有以a為底b為真數(shù)的對(duì)數(shù)函數(shù);只有以常用對(duì)數(shù)10為底的對(duì)數(shù)或自然對(duì)數(shù)e為底的對(duì)數(shù)(即Ig、In),此時(shí)就要用到換底公式來換成以e或者10為底的對(duì)數(shù)來表示出以a為底b為真數(shù)的對(duì)數(shù)表達(dá)式,從而來處理某些實(shí)際問題。
我?guī)湍悴楹瘮?shù)表了,double就已經(jīng)足夠了,我們換底為10,調(diào)用函數(shù)double
result=log10(x),然后注意除法,小心分母的數(shù)據(jù)類型,必須為double,否則很有可能出錯(cuò),這就是我的建議祝你好運(yùn)~編程愉快~~
1、C語言中,有兩個(gè)log函數(shù),分別為log10和log函數(shù),具體用法如下:
2、函數(shù)名: log10
功 能: 對(duì)數(shù)函數(shù)log,以10為底
用 法: double log10(double x);
程序示例:
#include math.h
#include stdio.hint main(void)
{
double result;
double x = 800.6872;
result = log10(x);
printf("The common log of %lf is %lf\n", x, result);
return 0;
}
3、函數(shù)名: log
功 能: 對(duì)數(shù)函數(shù)log,以e(2.71828)為底
用 法: double log(double x);
程序示例:
#include math.h
#include stdio.hint main(void)
{
double result;
double x = 800.6872;
result = log(x);
printf("The common log of %lf is %lf\n", x, result);
return 0;
}
#includestdio.h
#include math.h
void main()
{
float x=5,y;
y=log(x);
printf("%f\n",y);
}
擴(kuò)展資料:
C語言中使用對(duì)數(shù)函數(shù)的方法
log()函數(shù):返回以e為底的對(duì)數(shù)值
頭文件:
1#include
log() 函數(shù)返回以 e 為底的對(duì)數(shù)值,其原型為:
1double?log?(double?x);
log()用來計(jì)算以e為底的 x 的對(duì)數(shù)值,然后將結(jié)果返回。設(shè)返回值為 ret,則
1x = eret
如果 x 為負(fù)數(shù)或 0,則會(huì)發(fā)生錯(cuò)誤并設(shè)置 errno 值。錯(cuò)誤代碼:
EDOM:參數(shù)x 為負(fù)數(shù);
ERANGE:參數(shù)x
為零值,零的對(duì)數(shù)值無定義。
注意:使用 GCC 編譯時(shí)請(qǐng)加入-lm。
首先在C語言中要用到指數(shù)、對(duì)數(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ù)的對(duì)數(shù)
exponent = 100;
printf("lg(%.f) = %.2f\n", exponent, log10(exponent));//以10為底數(shù)的對(duì)數(shù)
base = 5, exponent = 100;
printf("log_%.f(%.f) = %.2f\n", base, exponent, log(exponent)/log(base));//換底公式
return 0;
}
在求log_5(100)時(shí)需要用到“換底公式”:log_5(100) = ln(100)/ln(5)。
擴(kuò)展資料:
math.h文件中包含的函數(shù)主要分為以下幾類:
1、三角函數(shù)、反三角函數(shù)、雙曲三角函數(shù)。
2、指數(shù)、對(duì)數(shù)。
3、取整、絕對(duì)值。
4、標(biāo)準(zhǔn)化浮點(diǎn)數(shù)。
涉及參數(shù)類型為double類型。
參考資料:
百度百科——換底公式
百度百科——math.h