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