在C++中,检查无限和不确定的值可以通过使用std::numeric_limits
和std::isnan
来实现。std::numeric_limits
是一个模板类,可以用来获取关于某个类型的特定信息,如最大值、最小值等。std::isnan
是一个函数,用于检查一个浮点数是否是一个非数字(NaN)。
以下是一个示例代码,展示了如何在C++中检查无限和不确定的值:
#include<iostream>
#include<limits>
#include <cmath>
int main() {
double value1 = 1.0 / 0.0; // 无限大
double value2 = -1.0 / 0.0; // 负无限大
double value3 = 0.0 / 0.0; // 不确定的值(NaN)
// 检查无限大
if (value1 == std::numeric_limits<double>::infinity()) {
std::cout << "Value1 is positive infinity."<< std::endl;
}
if (value2 == -std::numeric_limits<double>::infinity()) {
std::cout << "Value2 is negative infinity."<< std::endl;
}
// 检查不确定的值(NaN)
if (std::isnan(value3)) {
std::cout << "Value3 is not a number (NaN)."<< std::endl;
}
return 0;
}
在这个示例中,我们定义了三个变量value1
、value2
和value3
,分别表示无限大、负无限大和不确定的值(NaN)。然后,我们使用std::numeric_limits
和std::isnan
来检查这些值。
领取专属 10元无门槛券
手把手带您无忧上云