名前空間
変種
操作

ceil, ceilf, ceill

From cppreference.com
< c‎ | numeric‎ | math
 
 
 
共通の数学関数
関数
基本的な数学関数
(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)
量子および量子指数
Decimal再エンコーディング関数
総順序およびペイロード関数
分類
(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 - floating-point value

[編集] 戻り値

エラーが発生しなかった場合、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 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)
現在の丸めモードを使用して整数に丸める
結果が異なる場合は例外を送出する
(関数) [編集]
English 日本語 中文(简体) 中文(繁體)