先頭へ戻る

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

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

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

先頭へ戻る

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 に保存 Facebook でシェア
Twitter でツイート Twitter をフォロー LINE で送る
rss1.0 取得ボタン RSS 管理者情報 プライバシーポリシー