今天早些时候我在问关于半数的问题,并从@alk 那里得到了很大的帮助。在那篇文章中,我的想法是将 4.5 舍入到 5,但将 4.4 舍入到 4。@alk 给出的解决方案是:
int round_number(float x)
{
return x + 0.5;
}
它工作得非常优雅!
在这篇文章中,我想讨论如何ceil()
在 C 中实现该函数。与@alk 给出的最后一个解决方案相同,我想出了以下内容:
int round_up(float y)
{
return y + 0.99999999;
}
这适用于所有情况,除非浮点数 y 具有 0.00000001。我想知道是否有更好的方法来做与ceil()
C相同的事情。