加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

为什么“ceil()”函数的返回类型是“double”而不是某种整数类型

发布时间:2020-12-16 10:13:43 所属栏目:百科 来源:网络整理
导读:我刚刚实现了一行代码,其中需要对两个数字进行划分,结果需要四舍五入到下一个整数.我开始非常天真: i_quotient = ceil(a/b); 由于数字a和b都是整数,这不起作用:除法作为整数除法执行,默认情况下向下舍入,因此我需要强制除法为浮点运算: i_quotient = ceil
我刚刚实现了一行代码,其中需要对两个数字进行划分,结果需要四舍五入到下一个整数.我开始非常天真:

i_quotient = ceil(a/b);

由于数字a和b都是整数,这不起作用:除法作为整数除法执行,默认情况下向下舍入,因此我需要强制除法为浮点运算:

i_quotient = ceil((double) a / b);

现在这似乎工作,但它留下一个警告说我试图将一个double分配给一个整数,实际上,在头文件“math.h”之后,ceil()函数的返回类型是“double”,而现在我迷失了:返回双倍的舍入函数的意义是什么?任何人都可以告诉我这件事吗?

解决方法

double的范围可以大于任何整数类型. 返回double是确保结果类型具有可以处理所有可能输入的范围的唯一方法.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读