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

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

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


fegetround関数

概要

現在の丸め方向を取得する

ヘッダ

fenv.h

形式

int fegetround(void);

引数

なし

戻り値

現在の丸め方向を表すマクロの値。何らかの事情で、丸め方向が決定できない場合には、負数を返す。

詳細

現在の丸め方向を表すマクロの値を返す。このマクロは、標準では FE_TONEARESTFE_UPWARDFE_DOWNWARDFE_TOWARDZERO の4つである。ただし、処理系がサポートしない丸め方向については、該当のマクロも定義されていない。また、処理系が標準以外の丸め方向をサポートする場合は、FE_ で始まる名前のマクロが追加定義されており、それを返す可能性がある。

注意

FENV_ACCESS 標準プラグマの状態が ON でなければならない。

使用例

#include <fenv.h>
#include <math.h>
#include <stdio.h>

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

int main(void)
{
    int round = fegetround();

    switch (round) {
    case FE_DOWNWARD:
        puts("FE_DOWNWARD");
        break;
    case FE_UPWARD:
        puts("FE_UPWARD");
        break;
    case FE_TONEAREST:
        puts("FE_TONEAREST");
        break;
    case FE_TOWARDZERO:
        puts("FE_TOWARDZERO");
        break;
    default:
        if (round >= 0) {
            puts("others");
        }
        else {
            puts("unknown");
        }
        break;
    }
}

実行結果:

FE_TONEAREST

関連

丸め方向は、fesetround関数で設定できる。

解説章


参考リンク


更新履歴

’2018/5/26 新規作成。



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

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

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

Programming Place Plus のトップページへ



はてなブックマーク に保存 Pocket に保存 Facebook でシェア
X で ポストフォロー LINE で送る noteで書く
rss1.0 取得ボタン RSS 管理者情報 プライバシーポリシー
先頭へ戻る