共用方式為


pow、powf、powl

計算 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 
);
long double powl(
   long double x,
   long double y
);

參數

  • x
    基底

  • y
    指數。

傳回值

傳回 xy 的値。 錯誤訊息在溢位或反向溢位時不會列印。

x 和 y 的值

傳回值 pow

x < > 0 和 y = 0.0

1

x = 0.0 和 y = 0.0

1

x = 0.0 和 y < 0

INF

備註

pow 無法辨識整數浮點值大於 264 (例如, 1.0E100)。

pow 會使用 Streaming SIMD Extensions 2(SSE2) 的實作。 如需有關使用 SSE2 實作的詳細資訊和限制,請參閱 _set_SSE2_enable

因為 C++ 允許多載,您可以呼叫任何 pow的各種多載。 在 C 程式中, pow 一律接受並傳回雙精確度浮點數值。

pow(int, int) 多載無法使用。 如果您使用這個多載,編譯器可能會發出 C2668。 若要避免這個問題,請轉換第一個參數為 double、 float或 long double。

需求

常式

必要的標頭

pow, powf, powl

<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

.NET Framework 對等用法

System::Math::Pow

請參閱

參考

浮點支援

exp、expf

log、logf、log10、log10f

sqrt、sqrtf、sqrtl

_CIpow