这是我在最近的采访中被问到的一个问题,我想知道(我实际上并不记得数值分析的理论,所以请帮助我:)
如果我们有一些累积浮点数的函数:
std::accumulate(v.begin(), v.end(), 0.0);
Run Code Online (Sandbox Code Playgroud)
vstd::vector<float>例如,是一个.
在累积它们之前对这些数字进行排序会更好吗?
哪个订单会给出最准确的答案?
我怀疑按升序排序数字实际上会减少数值误差,但不幸的是我无法证明这一点.
PS我确实意识到这可能与现实世界的编程无关,只是好奇.