c++

C++ ceil()函数处理边界值的情况

小樊
87
2024-09-10 18:32:18
栏目: 编程语言

ceil() 函数是 C++ 标准库 <cmath> 中的一个函数,用于计算大于或等于给定浮点数的最小整数。当输入为负数时,ceil() 函数会向零方向取整。对于边界值,ceil() 函数的行为如下:

  1. 正无穷大:如果输入为正无穷大,ceil() 函数将返回正无穷大。
#include<iostream>
#include <cmath>

int main() {
    double input = std::numeric_limits<double>::infinity();
    double result = std::ceil(input);
    std::cout << "ceil(positive infinity) = "<< result<< std::endl;
    return 0;
}
  1. 负无穷大:如果输入为负无穷大,ceil() 函数将返回负无穷大。
#include<iostream>
#include <cmath>

int main() {
    double input = -std::numeric_limits<double>::infinity();
    double result = std::ceil(input);
    std::cout << "ceil(negative infinity) = "<< result<< std::endl;
    return 0;
}
  1. NaN(非数字):如果输入为 NaN,ceil() 函数的行为是未定义的。在实际应用中,它可能返回 NaN 或触发异常。
#include<iostream>
#include <cmath>

int main() {
    double input = std::numeric_limits<double>::quiet_NaN();
    double result = std::ceil(input);
    std::cout << "ceil(NaN) = "<< result<< std::endl;
    return 0;
}

请注意,这些示例使用了 std::numeric_limits 来表示特殊的浮点值(如无穷大和 NaN)。要使用这些示例,需要包` 头文件。

0
看了该问题的人还看了