次の方法で共有


pow、powf

更新 : 2007 年 11 月

xy 乗を計算します。

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、y = 0.0

1

x = 0.0、y = 0.0

1

x = 0.0、y < 0

INF

解説

pow 関数は、xy 乗を計算します。

pow 関数では、1.0E100 などの 264 を超える浮動小数点整数値は認識されません。

pow には、SSE2 (Streaming SIMD Extensions 2) を利用する実装が用意されています。SSE2 実装の使用に関する情報と制限については、「_set_SSE2_enable」を参照してください。

C++ ではオーバーロードが可能であるため、pow のさまざまなオーバーロードを呼び出すことができます。C プログラムでは、pow は常に 2 つの倍精度浮動小数点数型の値を受け取り、1 つの倍精度浮動小数点数型の値を返します。

Visual C++ 2005 では、ISO 標準にさらに準拠するために大きく変更されています。pow(int, int) のオーバーロードは、使用できなくなりました。このオーバーロードを使用している場合、コンパイラは C2668 を発生することがあります。この問題を回避するには、最初のパラメータを doublefloat、または long double にキャストします。

必要条件

ルーチン

必須ヘッダー

pow, powf

<math.h>

互換性の詳細については、「C ランタイム ライブラリ」の「互換性」を参照してください。

ライブラリ

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