C言語編 標準ライブラリのリファレンス powl

先頭へ戻る

powl関数

概要 x の y乗を求める。
ヘッダ math.h
形式 long double powf(long double x, long double y);
引数 x 底。
y 指数。
戻り値 x を y乗した結果。
結果が、オーバーフローやアンダーフローを起こす場合には、HUGE_VALL を正しい符号で表現した値が返される。
また、その他のケースにおいても、結果が適切に表現できない場合には、コンパイラごとに異なる結果を返す可能性がある。
詳細 「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)
{
    long double x = 8.5L;
    long double y = 5.0L;
    long double ans;

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

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

    return 0;
}

実行結果:

ans = 44370.531250
関連 float型版の powf関数、double型版の pow関数がある。
また、平方根の計算には、sqrt関数sqrtf関数sqrtl関数が使える。
解説章 第48章


参考リンク

更新履歴

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

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

'2018/1/22 新規作成。





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

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

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

Programming Place Plus のトップページへ


このエントリーをはてなブックマークに追加
rss1.0 取得ボタン RSS