IEEE 754中的舍入运算结果

问题描述 投票:0回答:1

对于在IEEE 754(浮点型,32位)中使用单精度值的操作,当无法获得精确结果时,是否有办法以某种方式调节两个操作数以确保对操作结果进行舍入?换句话说,如何强制四舍五入到-Inf?

示例:

  • 典型结果(使用“四舍五入到最接近的位置”):1.0f / 3.0f = 0.3333333432674407958984375f
  • 预期结果(使用'向下取整':1.0f / 3.0f = 0.333333313465118408203125f] >>
  • 作为附加信息,我将在C99​​中进行此操作,(不幸的是)无法配置FPU。

对于在IEEE 754(浮点型,32位)中使用单精度值的操作,有一种方法可以以某种方式对两个操作数进行条件化,以确保在获得精确结果时对操作结果进行舍入...

floating-point rounding ieee-754
1个回答
0
投票

C 1999和当前的C标准都指定了用于设置浮点舍入模式的工具。但是,并非所有的C实现都支持它们。在执行此操作的实现中,以下代码将保存先前的舍入模式,使用舍入到负无穷大执行操作,并恢复先前的舍入模式:

© www.soinside.com 2019 - 2024. All rights reserved.