当前位置: C语言 -- 标准库 -- <fenv.h> -- FE_DFL_ENV

FE_DFL_ENV宏


概要:

#define FE_DFL_ENV pointer //pointer为const fenv_t类型指针。


描述:

该宏表示默认的浮点环境,即程序启动时安装的浮点环境。

该宏可扩展为一个const fenv_t类型指针,可作为<fenv.h>头文件中操作浮点环境函数的参数。

具体实现中还可能定义一些以FE_和一个大写字母开头的表示浮点环境的宏,这些宏同样可扩展为const fenv_t类型指针。


范例:
1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 
14 
15 
16 
17 
18 
19 
20 
21 
22 
23 
24 
25 
26 
27 
28 
29 
30 
31 
32 
33 
34 
35 
36 
37 
38 
39 
/*宏FE_DFL_ENV范例*/

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

#pragma STDC FENV_ACCESS ON

void showRoundingDirection(void)
{
    switch(fegetround())
    {
    case FE_DOWNWARD:
        puts("Round downward.");
        break;
    case FE_TOWARDZERO:
        puts("Round toward zero.");
        break;
    case FE_UPWARD:
        puts("Round upward.");
        break;
    default:
        puts("Round to nearest.");
        break;
    }
}

int main(void)
{
    fesetround(FE_UPWARD);
    printf("Current rounding direction: ");
    showRoundingDirection();

    fesetenv(FE_DFL_ENV);
    printf("Default rounding direction: ");
    showRoundingDirection();

    return 0;
}


输出:

Current rounding direction: Round upward.

Default rounding direction: Round to nearest.


相关内容:
fenv_t 表示整个浮点环境的类型。
fesetenv 设置浮点环境的函数。
fegetenv 获取浮点环境的函数。