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

先頭へ戻る

fetestexcept関数

概要 浮動小数点例外フラグがセットされているかどうかを調べる
ヘッダ fenv.h
形式 int fetestexcept(int excepts);
引数 excepts 調べたい浮動小数点例外フラグ。浮動小数点例外マクロのビット論理和で指定する。
戻り値 引数excepts で指定した浮動小数点例外のうち、セットされているものに対応する浮動小数点例外マクロのビット論理積を返す。
詳細 浮動小数点例外フラグは、浮動小数点例外の種類ごとに対応するビットがセットされることで表現されている。浮動小数点例外フラグは、浮動小数点例外が起きたときにセットされる。
引数excepts には、FE_DIVBYZERO などの浮動小数点例外マクロのビット論理和を指定する。すべての浮動小数点例外を調べたければ、FE_ALL_EXCEPT を指定すると良い。
注意 浮動小数点例外フラグを調べるには、FENV_ACCESS 標準プラグマの状態が ON でなければならない。
使用例
#include <fenv.h>
#include <stdio.h>

#if defined(_MSC_VER)
#pragma fenv_access (on)
#else
#pragma STDC FENV_ACCESS ON
#endif

int main(void)
{
    feclearexcept( FE_ALL_EXCEPT );
    double x = 2.0 / 0.0;
    if( fetestexcept(FE_DIVBYZERO) ){
        puts( "FE_DIVBYZERO" );
    }

    return 0;
}

実行結果

FE_DIVBYZERO
関連 浮動小数点例外フラグは、feclearexcept関数を使ってクリアできる。
解説章 第48章


参考リンク



更新履歴

'2018/4/22 新規作成。



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

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

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

Programming Place Plus のトップページへ


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