温馨提示×

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

c++
小樊
94
2024-09-10 18:32:18
栏目: 编程语言
C++开发者专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

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)。要使用这些示例,需要包` 头文件。

亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

0