我很难理解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.100
)的最后一位0(最后一位偶数)的那个,并且此值四舍五入为负无穷大。但是舍入+0.1011
将舍入为正无穷大,因为这一次,两个最接近的值中的较大者的最后一位为0。
关于rounding - IEEE 754舍入为正无穷大,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10788486/