C语言除法向上、向下取整


  C语言的math.h头文件中有ceil和floor两个函数:

  

double ceil(double x);
float ceilf(float x);
long double ceill(long double x);


double floor(double x);
float floorf(float x);
long double floorl(long double x);

  上面一个是把一个浮点数向上取整,下面一个是向下取整。于是当整数除法向上取整的时候就会出现这种情况:

int a = 10, b = 3,  c = 0;

c = (int)ceil((float)a / (float)b);

  进行了几次类型转换最终实现了向上取整。其实不需要那么麻烦,对于两个正整数,实现向上取整只需要:

c = (a + b - 1) / b;

  不需要转换类型,也不需要调用函数,当然这只是对正整数适用。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM