我很难理解 IEEE 754 舍入约定:
- 四舍五入到正无穷大
- 舍入到负无穷大
- 不偏向最近的偶数
如果我有一个由二进制点右侧的 9 位组成的二进制数,并且我需要使用最右边的 3 位来确定舍入,我会怎么做?
这是家庭作业,所以这就是为什么我对这个问题含糊不清......我需要关于这个概念的帮助。
谢谢!
向正无穷大舍入意味着舍入的结果永远不会小于参数。
向负无穷舍入意味着舍入的结果永远不会大于参数。
四舍五入到最接近,甚至意味着四舍五入的结果有时更大,有时小于(有时等于)参数。
在二进制点之后将值四舍五入+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。