5

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

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

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

这是家庭作业,所以这就是为什么我对这个问题含糊不清......我需要关于这个概念的帮助。

谢谢!

4

1 回答 1

8

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

在二进制点之后将值四舍五入+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。

于 2012-05-28T19:45:05.330 回答