名稱空間
變體
操作

ceil, ceilf, ceill

來自 cppreference.com
< c‎ | 數值‎ | 數學
 
 
 
常用數學函式
函式
基本操作
(C99)
(C99)
(C99)
(C99)(C99)(C99)(C23)
最大值/最小值操作
(C99)
(C99)
指數函式
(C23)
(C99)
(C99)
(C23)
(C23)

(C99)
(C99)(C23)
(C23)
(C23)
冪函式
(C99)
(C23)
(C23)

(C99)
(C23)
(C23)
三角函式和雙曲函式
(C23)
(C23)
(C23)
(C23)
(C99)
(C99)
(C99)
最近整數浮點數
ceil
(C99)(C99)(C99)
(C99)

(C99)(C99)(C99)
(C23)(C23)(C23)(C23)
浮點數操作
(C99)(C99)
(C99)(C23)
(C99)
窄化操作
(C23)
(C23)
(C23)
(C23)
(C23)
(C23)
量子與量子指數
十進位制重新編碼函式
總序和載荷函式
分類
(C99)
(C99)
(C99)
(C23)
誤差函式和伽馬函式
(C99)
(C99)
(C99)
(C99)
型別
宏常量
特殊浮點值
(C99)(C23)
引數和返回值
錯誤處理
快速操作指示符
 
定義於標頭檔案 <math.h>
float       ceilf( float arg );
(1) (C99 起)
double      ceil( double arg );
(2)
long double ceill( long double arg );
(3) (C99 起)
定義於標頭檔案 <tgmath.h>
#define ceil( arg )
(4) (C99 起)
1-3) 計算不小於 arg 的最小整數值。
4) 泛型宏:若 arg 的型別為 long double,則呼叫 ceill。否則,若 arg 的型別為整數型別或 double,則呼叫 ceil。否則,呼叫 ceilf

目錄

[編輯] 引數

arg - 浮點值

[編輯] 返回值

如果沒有發生錯誤,返回不小於 arg 的最小整數值,即 ⌈arg⌉

返回值
math-ceil.svg
引數

[編輯] 錯誤處理

錯誤按 math_errhandling 中指定的方式報告。

如果實現支援 IEEE 浮點算術 (IEC 60559)

  • 當前的舍入模式無效。
  • 如果 arg 是 ±∞,則返回它,不作修改。
  • 如果 arg 是 ±0,則返回它,不作修改。
  • 如果 arg 是 NaN,則返回 NaN。

[編輯] 注意

當對非整數有限值進行舍入時,可能會(但非必須)引發 FE_INEXACT

在所有標準浮點格式中,最大的可表示浮點值都是精確整數,因此此函式本身永遠不會溢位;然而,當儲存到整數變數時,結果可能會溢位任何整數型別(包括 intmax_t)。

此函式(對於 double 引數)的行為如同透過以下方式實現(除了可以不引發 FE_INEXACT):

#include <fenv.h>
#include <math.h>
#pragma STDC FENV_ACCESS ON
 
double ceil(double x)
{
    double result;
    int save_round = fegetround();
    fesetround(FE_UPWARD);
    result = rint(x); // or nearbyint
    fesetround(save_round);
    return result;
}

[編輯] 示例

#include <math.h>
#include <stdio.h>
 
int main(void)
{
    printf("ceil(+2.4) = %+.1f\n", ceil(2.4));
    printf("ceil(-2.4) = %+.1f\n", ceil(-2.4));
    printf("ceil(-0.0) = %+.1f\n", ceil(-0.0));
    printf("ceil(-Inf) = %+f\n",   ceil(-INFINITY));
}

可能的輸出

ceil(+2.4) = +3.0
ceil(-2.4) = -2.0
ceil(-0.0) = -0.0
ceil(-Inf) = -inf

[編輯] 參考

  • C23 標準 (ISO/IEC 9899:2024)
  • 7.12.9.1 ceil 函式 (p: TBD)
  • 7.25 型別通用數學 <tgmath.h> (p: TBD)
  • F.10.6.1 ceil 函式 (p: TBD)
  • C17 標準 (ISO/IEC 9899:2018)
  • 7.12.9.1 ceil 函式 (p: TBD)
  • 7.25 型別通用數學 <tgmath.h> (p: TBD)
  • F.10.6.1 ceil 函式 (p: TBD)
  • C11 標準 (ISO/IEC 9899:2011)
  • 7.12.9.1 ceil 函式 (p: 251)
  • 7.25 型別通用數學 <tgmath.h> (p: 373-375)
  • F.10.6.1 ceil 函式 (p: 526)
  • C99 標準 (ISO/IEC 9899:1999)
  • 7.12.9.1 ceil 函式 (p: 231-232)
  • 7.22 型別通用數學 <tgmath.h> (p: 335-337)
  • F.9.6.1 ceil 函式 (p: 462-463)
  • C89/C90 標準 (ISO/IEC 9899:1990)
  • 4.5.6.1 ceil 函式

[編輯] 參閱

計算不大於給定值的最大整數
(函式) [編輯]
(C99)(C99)(C99)
將數字截斷到最接近的整數,其絕對值不大於給定值
(函式) [編輯]
(C99)(C99)(C99)(C99)(C99)(C99)(C99)(C99)(C99)
四捨五入到最接近的整數,在半數情況下遠離零
(函式) [編輯]
使用當前舍入模式四捨五入到整數
(函式) [編輯]
(C99)(C99)(C99)(C99)(C99)(C99)(C99)(C99)(C99)
使用當前舍入模式四捨五入到整數
如果結果不同則丟擲異常
(函式) [編輯]
C++ 文件ceil