pow()函數(shù)用來求x的y次冪,x、y及函數(shù)值都是double型 ,其原型為:double pow(double x, double y)。
創(chuàng)新互聯(lián)公司主營固安網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,App定制開發(fā),固安h5微信小程序開發(fā)搭建,固安網(wǎng)站營銷推廣歡迎固安等地區(qū)企業(yè)咨詢
實(shí)例代碼如下:
#includestdio.h
#includemath.h
void main()
{
double x = 2, y = 10;
printf("%f\n",pow(x, y));
return 0;
}
擴(kuò)展資料:
C++提供以下幾種pow函數(shù)的重載形式:
double pow(double X,int Y);
float pow(float X,float Y);
float pow(float X,int Y);
long double pow(long double X,long double Y);
long double pow(long double X,int Y);
使用的時(shí)候應(yīng)合理設(shè)置參數(shù)類型,避免有多個(gè)“pow”實(shí)例與參數(shù)列表相匹配的情況。
其中較容易發(fā)生重載的是使用形如:
int X,Y;
int num=pow(X,Y);
這是一個(gè)比較常用的函數(shù),但是編譯器會(huì)提醒有多個(gè)“pow”實(shí)例與參數(shù)列表相匹配。
可以使用強(qiáng)制類型轉(zhuǎn)換解決這個(gè)問題:num=pow((float)X,Y)。
參考資料來源:百度百科-POW
pow()函數(shù)用來求x的y次冪,x、y及函數(shù)值都是double型 ,其原型為:double pow(double x, double y)。
實(shí)例代碼如下:
#includestdio.h
#includemath.h
void main()
{
double x = 2, y = 10;
printf("%f\n",pow(x, y));
return 0;
}
擴(kuò)展資料:
在調(diào)用pow函數(shù)時(shí),可能導(dǎo)致錯(cuò)誤的情況:
如果底數(shù) x 為負(fù)數(shù)并且指數(shù) y 不是整數(shù),將會(huì)導(dǎo)致 domain error錯(cuò)誤。
如果底數(shù) x 和指數(shù) y 都是 0,可能會(huì)導(dǎo)致 domain error?錯(cuò)誤,也可能沒有;這跟庫的實(shí)現(xiàn)有關(guān)。
如果底數(shù) x 是 0,指數(shù) y 是負(fù)數(shù),可能會(huì)導(dǎo)致?domain error 或pole error 錯(cuò)誤,也可能沒有;這跟庫的實(shí)現(xiàn)有關(guān)。
如果返回值 ret 太大或者太小,將會(huì)導(dǎo)致range error 錯(cuò)誤。
錯(cuò)誤代碼:
如果發(fā)生 domain error 錯(cuò)誤,那么全局變量 errno 將被設(shè)置為? EDOM;
如果發(fā)生 pole error 或 range error 錯(cuò)誤,那么全局變量 errno 將被設(shè)置為 ERANGE。
參考資料:
pow函數(shù)——百度百科
你首先要給我說你用的哪個(gè)
編譯器
啊
我在VS2005下用你的相同
代碼
得出的結(jié)果是三個(gè)數(shù)都是100
只是pow(float,float)才是正確的
用法
,你可以償試把你的所有
類型
改一下試試,從你的測試結(jié)果來說,很可能是
類型轉(zhuǎn)換
的時(shí)候的問題,int
型的i=2,被編譯器轉(zhuǎn)成float的時(shí)候有
誤差
,只有1.999……,然后10的i
次方
不到100,只有99點(diǎn)幾,然后轉(zhuǎn)給a的時(shí)候再轉(zhuǎn)換成int就只有99了,而你直接輸入2的時(shí)候就
沒有問題
。這只是一種猜測,你得把你的編譯環(huán)境也作為條件給出來才能有準(zhǔn)確的判斷。
在c語言中,pow函數(shù)實(shí)現(xiàn)了數(shù)學(xué)上冪運(yùn)算的功能。舉個(gè)例子,比如求2^8的值,就可以調(diào)用pow(2,8)獲得。
1,要加入頭文件 math.h
2,pow(x,y);//其作用是計(jì)算x的y次方。x、y及函數(shù)值都是double型
例:
我要計(jì)算2的5次方
源代碼如下:
#include"stdio.h"
#include"math.h"
main()
{
long total;
int x = 2, y = 5;
total = pow(x,y); /*調(diào)用pow函數(shù)*/
printf("%ld",total);
getch();
}
本文標(biāo)題:c語言pow函數(shù)詳解用法 c語言中pow函數(shù)
標(biāo)題URL:http://muchs.cn/article44/hgeoee.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供自適應(yīng)網(wǎng)站、虛擬主機(jī)、動(dòng)態(tài)網(wǎng)站、企業(yè)建站、網(wǎng)頁設(shè)計(jì)公司、外貿(mào)建站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)