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