ceil, ceilf, ceill
From cppreference.com
| ヘッダー <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 | - | floating-point value |
[編集] 戻り値
エラーが発生しなかった場合、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); // or 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 The ceil functions (p: TBD)
- 7.25 Type-generic math <tgmath.h> (p: TBD)
- F.10.6.1 The ceil functions (p: TBD)
- C17標準 (ISO/IEC 9899:2018)
- 7.12.9.1 The ceil functions (p: TBD)
- 7.25 Type-generic math <tgmath.h> (p: TBD)
- F.10.6.1 The ceil functions (p: TBD)
- C11標準 (ISO/IEC 9899:2011)
- 7.12.9.1 The ceil functions (p: 251)
- 7.25 型総称数学関数 <tgmath.h> (p: 373-375)
- F.10.6.1 The ceil functions (p: 526)
- C99標準 (ISO/IEC 9899:1999)
- 7.12.9.1 The ceil functions (p: 231-232)
- 7.22 型総称数学関数 <tgmath.h> (p: 335-337)
- F.9.6.1 The ceil functions (p: 462-463)
- C89/C90標準 (ISO/IEC 9899:1990)
- 4.5.6.1 The ceil function
[編集] 関連項目
| (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++ ドキュメント (ceil)
| |