次の方法で共有


pow、powf

y の累乗 x を計算します。

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

INF

解説

pow で必要な浮動小数点値を 1.0E100 などより 264認識しません。

pow にストリーミング SIMD 拡張 2 (SSE2) をストリームに使用する実装されています。SSE2 実装の詳細と使用に関する制限事項については _set_SSE2_enable を参照してください。

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

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

_CIpow