小编Ben*_*jie的帖子

C 标准的 FE_TONEAREST 舍入模式是否保证中途平局舍入为偶数?

我正在编写依赖于 C(特别是 c11)四舍五入到偶数的中间关系的代码。当使用带有舍入模式的 rint 作为 FE_TONEAREST 时,我没有在 C 标准中找到说明如何使用 FE_NEAREST 处理关系的保证。ISO C 标准第 509 页指出

<fenv.h> 中的 fegetround 和 fesetround 函数提供了在 <fenv.h> 中的舍入方向宏(FE_TONEAREST、FE_UPWARD、FE_DOWNWARD、FE_TOWARDZERO)和值 0、1 表示的 IEC 60559 定向舍入模式之间进行选择的工具FLT_ROUNDS 的 、 、 2 和 3 是 IEC 60559 定向舍入模式。

但是,我在 IEC 60559 标准中找不到有关舍入模式的任何文档。在我的测试机器上,行为是在 FE_TONEAREST 中,关系四舍五入为偶数,我想确保这是由 c11 标准强制执行的,而不是实现定义的。

c rounding language-lawyer fenv c11

7
推荐指数
1
解决办法
266
查看次数

标签 统计

c ×1

c11 ×1

fenv ×1

language-lawyer ×1

rounding ×1