Ceil function: how can we implement it ourselves?

前端 未结 9 2066
别那么骄傲
别那么骄傲 2020-12-30 02:06

I know that C++ provides us with a ceil function. For practice, I was wondering how can we implement the ceil function in C++. The signature of the method is public static

9条回答
  •  佛祖请我去吃肉
    2020-12-30 02:35

    Something like this:

      double param, fractpart, intpart;
    
      param = 3.14159265;
      fractpart = modf (param , &intpart);
    
      int intv = static_cast(intpart); // can overflow - so handle that.
    
      if (fractpart > some_epsilon)
        ++intv;
    

    You just need to define some_epsilon value to whatever you want the fractional part to be bigger than before the integer part is incremented. Other things to consider are sign (i.e. if the value is negative etc.)

提交回复
热议问题