重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
ceil和floor
我们提供的服务有:成都做网站、网站设计、外贸营销网站建设、微信公众号开发、网站优化、网站认证、嘉黎ssl等。为上千余家企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的嘉黎网站制作公司
floor(x),有时候也写做Floor(x),其功能是“下取整”,或者说“向下舍入”,即取不大于x的最大整数(与“四舍五入”不同,下取整是直接去掉小数部分),例如:x=3.14,floor(x)=3 y=9.99999,floor(y)=9
ceil是向上取整,例如:x=3.14,ceil(x)=4
在 C 语言中,取整的规则取决于使用的取整函数。
如果使用内置的取整函数 floor(),则取整的规则为向下取整,即取最大的整数,小于等于原数。例如:
floor(3.14) # 输出 3
floor(-3.14) # 输出 -4
如果使用内置的取整函数 ceil(),则取整的规则为向上取整,即取最小的整数,大于等于原数。例如:
ceil(3.14) # 输出 4
ceil(-3.14) # 输出 -3
如果使用内置的取整函数 round(),则取整的规则为四舍五入,即取最接近原数的整数。例如:
round(3.14) # 输出 3
round(3.5) # 输出 4
round(-3.14) # 输出 -3
round(-3.5) # 输出 -4
注意:floor() 和 ceil() 函数需要使用 math.h 头文件。
#include math.h
另外,还可以使用类型转换运算符(即 (int) 运算符)将浮点数强制转换成整型,实现取整的效果。例如:
(int)3.14 # 输出 3
(int)-3.14 # 输出 -3
但是这种方法不会准确地处理负数
(int)-3.5 # 输出 -3(不是正确的答案)
如果是大于等于的取整,可能不是最优,自己想的:
if(f%n0)i=f/n+1;
else i=f/n
向上向下 取整函数数只会对小数点后面的 数字不为零 的数进行操作,
要是给它一个整数 它就返回整数本身
对小数不为零的数操作:
给定 3.3
调用用向下取整函数 得到的是 3
调用用向上取整函数 得到的是 4
我觉得这个 实例最能体现函数的用处 理论的就不说了
但愿能看得懂吧~
其实你提的一排问题 书本上很容易找到答案的...
1.你的理解是对的。
2.int(x)不一定是向下取整,int(-1.5)=-1,但是[-1.5]应该等于-2,这才叫向下取整。
3.int(A1+1)这种形式是不对的。
4.很多语言里都有向下取整函数floor()和向上取整函数ceil(),如果是C语言的话要注意类型转换,一下是函数原型:
#include math.h
double floor(double x);
double ceil(double x);
float floorf(float x);
float ceilf(float x);