如何验证C+中的特殊值+; 如果在C++中得到下列值中的任何一个,如何验证或比较它们? float pinf = std::numeric_limits<float>::infinity(); double dpinf = std::numeric_limits<double>::infinity(); float ninf = -std::numeric_limits<float>::infinity(); float NaN = std::numeric_limits<float>::quiet_NaN(); float nNaN = -std::numeric_limits<float>::quiet_NaN(); double dNaN = std::numeric_limits<double>::quiet_NaN(); float pinf=std::numeric_limits::infinity(); 双dpinf=std::numeric_limits::infinity(); float ninf=-std::numeric_limits::infinity(); float NaN=std::numeric_limits::quiet_NaN(); float nNaN=-std::numeric_limits::quiet_NaN(); 双dNaN=std::数值限制::安静的\u NaN();

如何验证C+中的特殊值+; 如果在C++中得到下列值中的任何一个,如何验证或比较它们? float pinf = std::numeric_limits<float>::infinity(); double dpinf = std::numeric_limits<double>::infinity(); float ninf = -std::numeric_limits<float>::infinity(); float NaN = std::numeric_limits<float>::quiet_NaN(); float nNaN = -std::numeric_limits<float>::quiet_NaN(); double dNaN = std::numeric_limits<double>::quiet_NaN(); float pinf=std::numeric_limits::infinity(); 双dpinf=std::numeric_limits::infinity(); float ninf=-std::numeric_limits::infinity(); float NaN=std::numeric_limits::quiet_NaN(); float nNaN=-std::numeric_limits::quiet_NaN(); 双dNaN=std::数值限制::安静的\u NaN();,c++,nan,C++,Nan,您可以使用或任何相关功能。您所说的“验证”是什么意思?你想知道什么?我所说的“veryfy”是指是否有一个简单的函数来检查当前的特殊值状态:`不是一个数字,无限,不确定',等等。你缺少了一些常量。例如,isnan()表示不是一个数字,isinf() 无穷大< /代码>和 ISDUN()/ > < >好,我以前从未见过这个函数。所以这是C++ 11的特性吗?我只有VC++10。0@LCFactorization:C标准库中有相关函数;请参阅链接的文档。您可能可以使用这些。请在答案中添加一个简单

您可以使用或任何相关功能。

您所说的“验证”是什么意思?你想知道什么?我所说的“veryfy”是指是否有一个简单的函数来检查当前的特殊值状态:`不是一个数字
无限
不确定',等等。你缺少了一些
常量
。例如,
isnan()
表示
不是一个数字
isinf() <代码>无穷大< /代码>和<代码> ISDUN()/<代码> <代码> > < <代码> >好,我以前从未见过这个函数。所以这是C++ 11的特性吗?我只有VC++10。0@LCFactorization:C标准库中有相关函数;请参阅链接的文档。您可能可以使用这些。请在答案中添加一个简单的示例好吗?@LCFactorization:Like
assert(!std::isnan(x))