21xrx.com
2024-12-22 22:09:30 Sunday
登录
文章检索 我的文章 写文章
C++中实现向上取整的函数
2023-07-13 16:48:27 深夜i     --     --
C++ 向上取整 函数实现

向上取整是数学中一个常见的运算方式,通俗地说,就是将一个小数向最近的较大整数舍入。在C++中,实现向上取整的函数并不困难,本文将介绍一种简单的实现方式。

定义向上取整函数Ceil()

Ceil()函数的作用是将一个小数向上取整,即将小数的小数部分直接舍去,整数部分加1,然后返回结果。我们可以用floor()函数将小数部分直接舍去得到整数部分,再使用条件语句通过判断小数部分是否为0来决定是否将整数部分加1。具体实现代码如下:

double Ceil(double x) {

  int integerPart = floor(x); //小数部分直接舍去得到整数部分

  double decimalPart = x - integerPart; //计算小数部分

  if(decimalPart != 0) { //如果小数部分不等于0,则整数部分加1

    integerPart++;

  }

  return integerPart;

}

测试实现效果

定义好向上取整函数Ceil()后,我们可以用一些简单的测试来验证其实现效果。下面是一些测试用例,用于测试Ceil()函数对于不同的输入值是否返回正确的结果。

int main() {

  double num1 = 8.3;

  double num2 = -3.9;

  double num3 = 0.0;

  double num4 = -0.001;

  cout << "Ceil(" << num1 << ") = " << Ceil(num1) << endl; //期望输出9

  cout << "Ceil(" << num2 << ") = " << Ceil(num2) << endl; //期望输出-3

  cout << "Ceil(" << num3 << ") = " << Ceil(num3) << endl; //期望输出0

  cout << "Ceil(" << num4 << ") = " << Ceil(num4) << endl; //期望输出0

  return 0;

}

输出结果如下:

Ceil(8.3) = 9

Ceil(-3.9) = -3

Ceil(0) = 0

Ceil(-0.001) = 0

可以看到,针对不同的输入值,Ceil()函数都返回了正确的结果。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复