Excel如何正确评估FACT(170)/ FACT(169)?

P45迫在眉睫

170!接近双倍浮点数的极限:171!会溢出。

但是170!超过300位数字。

因此,没有办法170!可以用浮点数精确表示。

但是,Excel会返回170的正确答案!/ 169 !.

为什么是这样?我希望会出现一些错误,但是会返回一个整数值。Excel是否以某种方式知道如何优化此计算?

Tmyklebu

如果找到最接近double170的值!和169 !,它们是

double oneseventy = 5818033100654137.0 * 256;
double onesixtynine = 8761273375102700.0;

相同倍数的两倍。最接近double它们的商的正好是170.0。

此外,Excel可能会计算170!乘以169!到170年。

威廉·卡汉(William Kahan)撰写了一篇论文,题为“浮点计算中无意义的舍入评估有多无效? ”,他在其中讨论了Excel中发生的一些精神错乱。Excel可能无法准确计算170,而是对您隐藏了现实的麻烦。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章