次の方法で共有


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 関数では、1.0E100 などの 264 を超える浮動小数点整数値は認識されません。

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

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

pow(int, int)のオーバー ロードは使用できなくします。 このオーバー ロードを使用する場合は、コンパイラでは c2668 エラーを生成可能性があります。 この問題を回避するには、最初のパラメーターにキャストdouble、float、または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