首页 > 解决方案 > 64位浮点计算是否精确

问题描述

假设我的概率在 0.1 和 0.2(其中 10,000 个)之间,我想存储结果,即所有这些概率在 64 位浮点中的乘积?它是一个可靠的计算吗?

标签: floating-pointprecisionnumerical-methods

解决方案


这行不通。如果将 10000 个数字相乘,均小于 0.2,则结果将小于0.2^100001e-7000. 可以用 64 位双精度浮点数表示的最小正数约为2.2e-308,因此您将下溢数千个数量级。如果你尝试这个,你就会得到结果0.0

您可能想要添加他们的日志。


推荐阅读