当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


C语言 fegetround用法及代码示例


C语言fenv头文件(fenv.h)中fegetround函数的用法及代码示例。

用法:

int fegetround (void);
获取舍入方向模式
返回一个值,该值指示当前的舍入方向模式浮点环境

此函数返回的值是否与FLT_ROUNDS<cfloat>未指定。

参数



返回值

如果当前舍入模式已由该函数成功确定并由实现支持,则该函数将返回一个为其定义了相应宏的值:
宏值描述
FE_DOWNWARD向下舍入。
FE_TONEAREST四舍五入到最接近的值。
FE_TOWARDZERO向零舍入。
FE_UPWARD向上舍入。
某些库实现可能支持其他浮点舍入方向值(其对应的宏也以FE_)。

示例

/* fegetround / rint example */
#include <stdio.h>      /* printf */
#include <fenv.h>       /* fegetround, FE_* */
#include <math.h>       /* rint */

int main ()
{
  printf ("rounding using ");
  switch (fegetround()) {
    case FE_DOWNWARD: printf ("downward"); break;
    case FE_TONEAREST: printf ("to-nearest"); break;
    case FE_TOWARDZERO: printf ("toward-zero"); break;
    case FE_UPWARD: printf ("upward"); break;
    default: printf ("unknown");
  }
  printf (" rounding:\n");

  printf ( "rint (2.3) = %.1f\n", rint(2.3) );
  printf ( "rint (3.8) = %.1f\n", rint(3.8) );
  printf ( "rint (-2.3) = %.1f\n", rint(-2.3) );
  printf ( "rint (-3.8) = %.1f\n", rint(-3.8) );
  return 0;
}


可能的输出:

Rounding using to-nearest rounding:
rint (2.3) = 2.0
rint (3.8) = 4.0
rint (-2.3) = -2.0
rint (-3.8) = -4.0



相关用法


注:本文由纯净天空筛选整理自C标准库大神的英文原创作品 C fegetround function。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。