📅  最后修改于: 2023-12-03 15:14:00.014000             🧑  作者: Mango
在C++中,我们可以使用特殊值inf
来表示正无穷大,使用-inf
表示负无穷大。这通常在需要比较大小时非常有用。例如,我们可以使用inf
将变量初始化为在后续代码中找到的最大值。让我们来看一个例子:
#include <iostream>
#include <cmath>
int main() {
double max_val = -INFINITY; // 初始最大值为负无穷
double arr[] = {3.14, -5.6, 10.2, 100.5, -20.9}; // 一个double类型的数组
for (int i = 0; i < 5; i++) { // 遍历数组
if (arr[i] > max_val) { // 如果发现更大的值
max_val = arr[i]; // 更新最大值
}
}
std::cout << "The maximum value in the array is: " << max_val << std::endl; // 输出最大值
return 0;
}
输出:
The maximum value in the array is: 100.5
在上面的例子中,我们将max_val
初始化为负无穷。在遍历数组时,如果我们发现比max_val
更大的值,则将max_val
更新为该值。最终,max_val
将等于数组中的最大值。
在C++中,可以使用numeric_limits
头文件中的infinity()
和-infinity()
函数来获得正无穷和负无穷的值。例如:
#include <iostream>
#include <limits>
int main() {
double inf = std::numeric_limits<double>::infinity(); // inf为正无穷
double neg_inf = -std::numeric_limits<double>::infinity(); // neg_inf为负无穷
std::cout << "Positive infinity: " << inf << std::endl;
std::cout << "Negative infinity: " << neg_inf << std::endl;
return 0;
}
输出:
Positive infinity: inf
Negative infinity: -inf
在上面的例子中,我们使用numeric_limits
头文件中的double
类型来获得正无穷和负无穷的值,并将它们分别存储在inf
和neg_inf
变量中。通过打印这两个变量,我们可以看到C++将正无穷表示为inf
,将负无穷表示为-inf
。
总结:
在C++中,我们可以使用inf
和-inf
来表示正无穷和负无穷。这通常在比较大小时非常有用。我们还可以使用numeric_limits
头文件中的infinity()
和-infinity()
函数来获得正无穷和负无穷的值。