【问题标题】:IEEE 754 Rounding to Positive InfinityIEEE 754 四舍五入到正无穷大
【发布时间】:2012-05-28 17:38:02
【问题描述】:

我很难理解 IEEE 754 舍入约定:

  • 四舍五入到正无穷
  • 舍入到负无穷
  • 不偏不倚到最近的偶数

如果我有一个由二进制点右侧的 9 位组成的二进制数,我需要使用最右边的 3 位来确定舍入,我会怎么做?

这是家庭作业,所以我对这个问题含糊其辞……我需要关于这个概念的帮助。

谢谢!

【问题讨论】:

  • 这个不清楚;请您为您的问题添加一个具体示例。
  • 是的。 +0.100101110 我需要使用最右边的 3 位将其四舍五入为正无穷大。

标签: rounding ieee-754 infinity


【解决方案1】:

向正无穷舍入意味着舍入的结果永远不会小于参数。
向负无穷舍入意味着舍入的结果永远不会大于参数。
四舍五入到最接近,连到偶数意味着四舍五入的结果有时更大,有时小于(有时等于)参数。

将值+0.100101110 舍入到二进制点之后的六位将导致

+0.100110   // for round towards positive infinity
+0.100101   // for round towards negative infinity
+0.100110   // for round to nearest, ties to even

值被拆分

+0.100101    110

进入要保留的位和决定舍入结果的位。

由于值为正且确定位并非全为 0,因此向正无穷大舍入意味着将保留部分增加 1 ULP。

由于值为正,向负无穷舍入只会丢弃最后一位。

由于第一个截止位为 1,并且并非所有其他位都为 0,因此值 +0.100110+0.100101 更接近原始值,因此结果为 +0.100110

对于最近/偶数情况更有指导意义的是我们实际上有一个平局的一两个例子,例如将+0.1001 舍入到二进制点之后的三位:

+0.100 1   // halfway between +0.100 and +0.101

这里,规则说选择两个最接近的值中最后一位为 0(最后一位偶数)的那个,即+0.100,并且该值向负无穷大舍入。但舍入+0.1011 会朝正无穷方向舍入,因为这一次,两个最接近的值中较大的最后一位为 0。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-11
    • 1970-01-01
    • 2023-01-12
    • 2014-12-10
    • 1970-01-01
    • 2015-12-21
    相关资源
    最近更新 更多