遇到挑战。
假设我有一个具有以下特征的理论上,基数10 浮点计算器
这台机器如何计算以下内容?
300 + \sum_{i=1}^{100} 0.2
正确的结果是320.机器的结果是300.但为什么?无法得到20失踪的地方......
感谢您的时间。
答案 0 :(得分:3)
尽管davin的回答,数字0.2不是0:2e-1在您的系统中是可表示的。这里发生的是300.2无法表示完全精确,因此300 + 0.2会向下舍入到300.如果你这样做了100次,你仍然会得到300 :-)
但是,您的系统应该能够正确计算300 + 100 * 0.2。
答案 1 :(得分:1)
此计算器中的数字0.2为0,因为它应评估为2 x 10 ^( - 1),尽管指数只有1位数,允许范围为0和1,因此-1超出其范围。下溢导致截断,产生0。
因此,如果我们总和0一百次并将结果添加到300,我们得到300。