C/C++ NaN resolution

C/C++ NaN resolution

本文关键字:resolution NaN C++      更新时间:2023-10-16

当我运行一些代码时,我必须将向量的元素相加,然后重新规范化。我得到NaN,所以我希望解决这个问题。

例如,当x = [1,2,3]vector<double>时,我计算sum(x) = 6,然后通过为x中的所有I设置x[i] = x[i]/sum(x)来找出x/6是什么。问题是x通常持有大双精度,有时当我计算sum(x)时,(len(x)也非常大顺便说一下)我得到NaN。我如何处理这个,使我没有得到NaN?

改变它存储长双精度可能工作??

您是否验证了您的向量没有带来NaN ?顺便说一句-你使用的"规范"不是非负的任意向量,你确定你不想和abs(x[i])吗?

检查原始向量中的数据。其中一些可能是NaN 之前,结果是sum(x)= NaN