c – Ceil功能:我们该如何实现?
发布时间:2020-12-16 05:31:51 所属栏目:百科 来源:网络整理
导读:我知道C为我们提供了一个ceil功能.对于实践,我想知道如何在C中实现ceil函数.方法的签名是 public static int ceil(float num) 请提供一些见解. 我想到一个简单的方法:将num转换成一个字符串,找到小数点的索引,检查小数部分是否大于0.如果是,返回num 1 else
我知道C为我们提供了一个ceil功能.对于实践,我想知道如何在C中实现ceil函数.方法的签名是
public static int ceil(float num) 请提供一些见解. 我想到一个简单的方法:将num转换成一个字符串,找到小数点的索引,检查小数部分是否大于0.如果是,返回num 1 else返回num.但是我想避免使用字符串转换 解决方法
这是一个真正的实数的正数(这使用的事实是,转换为(int)截断为零):
int ceil(float num) { int inum = (int)num; if (num == (float)inum) { return inum; } return inum + 1; } 很容易将其扩展到负数. 你的问题要求一个函数返回int,但通常ceil()函数返回与它的参数相同的类型,所以没有范围的问题(即float ceil(float num)).例如,如果num为1e20,则上述功能将失败. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容