次の方法で共有


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 および 0 y <

INF

解説

pow は、264 を超える整数の浮動小数点値 (たとえば、1.0E100) を認識しません。

pow には、ストリーミング SIMD 拡張機能 (SSE2) を使用して実装されています。 SSE2 実装の使い方の詳細および制約については、「_set_SSE2_enable」を参照してください。

C++ ではオーバーロードが可能であるため、pow のさまざまなオーバーロードを呼び出すことができます。 C プログラムでは、pow は常に 2 個の double 値を受け取って、double 値を返します。

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 );
}

出力

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