先頭へ戻る

pow | Programming Place Plus C言語編 標準ライブラリのリファレンス

Programming Place Plus トップページ -- C言語編 -- 標準ライブラリのリファレンス(名前順)

Programming Place Plus トップページ -- C言語編 -- 標準ライブラリのリファレンス(ヘッダ別)

先頭へ戻る

pow関数

概要

x の y乗を求める。

ヘッダ

math.h

形式

double pow(double x, double y);

引数

x

底。

y

指数。

戻り値

x を y乗した結果。
結果が、オーバーフローやアンダーフローを起こす場合には、HUGE_VAL を正しい符号で表現した値が返される。
また、その他のケースにおいても、結果が適切に表現できない場合には、コンパイラごとに異なる結果を返す可能性がある。

詳細

「x が 負数で、y が整数でない場合」には定義域エラーになる。その際の動作に関する詳細は、EDOMmath_errhandling を参照のこと。「x が 0 で、y が 0以下の場合」にも定義域エラーになることがある。
また、結果がオーバーフローやアンダーフローを起こす場合には、値域エラーが発生することがある。その際の動作に関する詳細は、ERANGEmath_errhandling を参照のこと。

注意

使用例

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <errno.h>

int main(void)
{
    double x = 8.5;
    double y = 5.0;
    double ans;

    errno = 0;
    ans = pow( x, y );
    if( errno != 0 ){
        perror( NULL );
        exit( EXIT_FAILURE );
    }

    printf( "ans = %f\n", ans );

    return 0;
}

実行結果:

ans = 44370.531250

関連

C99 では、float型版の powf関数、long double型版の powl関数が追加されている。
平方根の計算には、sqrt関数が使える。

解説章

第48章


参考リンク


------------------------------------------------------------------------

更新履歴

'2018/4/21 「注意」の内容を「詳細」へ移動。C99以降で事情が変わっているので、定義域エラーや値域エラーに関する説明を他ページに譲るようにした。

'2018/4/12 「戻り値」と「注意」を書きなおした。

'2018/1/22 新規作成。


------------------------------------------------------------------------

標準ライブラリのリファレンス(名前順)のトップページへ

標準ライブラリのリファレンス(ヘッダ別)のトップページへ

C言語編のトップページへ

Programming Place Plus のトップページへ



はてなブックマーク に保存 Pocket に保存 Facebook でシェア
Twitter でツイート Twitter をフォロー LINE で送る
rss1.0 取得ボタン RSS 管理者情報 プライバシーポリシー