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