ceil, ceilf, ceill
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
ヘッダーで定義
<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以降) |
ceill
が呼び出される。それ以外の場合、
arg
が整数型または
double
型の場合、
ceil
が呼び出される。それ以外の場合、
ceilf
が呼び出される。
目次 |
パラメータ
| arg | - | 浮動小数点値 |
戻り値
エラーが発生しない場合、 arg 以上の最小の整数値、すなわち ⌈arg⌉ が返されます。
エラーハンドリング
エラーは
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); // または nearbyint fesetround(save_round); return result; }
例
出力例:
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)
(C99)
(C99)
(C99)
(C99)
(C99)
|
現在の丸めモードを使用して整数に丸め、
結果が異なる場合は例外を発生させる (関数) |
|
C++ documentation
for
ceil
|
|