pow powf
計算x的乘冪y。
double pow(
double x,
double y
);
double pow(
double x,
int y
); // C++ only
float pow(
float x,
float y
); // C++ only
float pow(
float x,
int y
); // C++ only
long double pow(
long double x,
long double y
); // C++ only
long double pow(
long double x,
int y
); // C++ only
float powf(
float x,
float y
);
參數
x
基底。y
指數。
傳回值
傳回的值xy。沒有錯誤訊息會列印於溢位或反向溢位。
值的 x 和 y |
傳回值 pow |
---|---|
x< > 0 and y = 0.0 |
1 |
x = 0.0 和 y = 0.0 |
1 |
x= 0.0 and y < 0 |
INF |
備註
pow無法辨識整數的浮點值大於 264,例如1.0E100。
pow已使用資料流 SIMD 延伸模組 2 (SSE2) 的實作。請參閱 _set_SSE2_enable 的資訊,並使用 SSE2 實作的限制。
C + + 允許多載化,因此您可以呼叫任何的各種多載pow。在某 c 程式, pow一律接受兩個雙精度浮點數值,並傳回雙精度浮點數值。
pow(int, int)多載已經無法使用。如果您使用這個多載,編譯器可能會發出 C2668。若要避免這個問題,將第一個參數轉換成double, float,或long double。
需求
常式 |
所需的標頭 |
---|---|
pow, powf |
<math.h> |
其他的相容性資訊,請參閱相容性在簡介中。
文件庫
所有版本的 C 執行階段程式庫。
範例
// crt_pow.c
#include <math.h>
#include <stdio.h>
int main( void )
{
double x = 2.0, y = 3.0, z;
z = pow( x, y );
printf( "%.1f to the power of %.1f is %.1f\n", x, y, z );
}
Output
2.0 to the power of 3.0 is 8.0