64位浮点计算是否精确

Is the computation precise in 64-bit floating point

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

这行不通。如果将 10000 个数字相乘,所有数字都小于 0.2,则结果将小于 0.2^10000,大约是 1e-7000。可以用 64 位双精度浮点数表示的最小正数大约是 2.2e-308 所以你会下溢几千个数量级。如果您尝试这样做,您将得到结果 0.0.

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