名前空間
変種
操作

ceil, ceilf, ceill

提供: cppreference.com
< c‎ | numeric‎ | math
 
 
 
一般的な数学関数
関数
基本操作
(C99)
(C99)
(C99)
(C99)
(C99)
(C99)(C99)(C99)
指数関数
(C99)
(C99)
(C99)
(C99)
冪関数
(C99)
(C99)
三角関数と双曲線関数
(C99)
(C99)
(C99)
誤差関数とガンマ関数
(C99)
(C99)
(C99)
(C99)
最も近い整数
ceil
(C99)(C99)(C99)
(C99)
(C99)(C99)(C99)
浮動小数点操作関数
(C99)(C99)
(C99)
(C99)
分類
(C99)
(C99)
(C99)
(C99)(C99)
マクロ定数
 
ヘッダ <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) 型総称マクロ。 arglong 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 <math.h>
#include <fenv.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

[編集] 参考文献

  • C11 standard (ISO/IEC 9899:2011):
  • 7.12.9.1 The ceil functions (p: 251)
  • 7.25 Type-generic math <tgmath.h> (p: 373-375)
  • F.10.6.1 The ceil functions (p: 526)
  • C99 standard (ISO/IEC 9899:1999):
  • 7.12.9.1 The ceil functions (p: 231-232)
  • 7.22 Type-generic math <tgmath.h> (p: 335-337)
  • F.9.6.1 The ceil functions (p: 462-463)
  • C89/C90 standard (ISO/IEC 9899:1990):
  • 4.5.6.1 The ceil function

[編集] 関連項目

指定された値より大きくない最も大きな整数を返します
(関数) [edit]
(C99)(C99)(C99)
指定された値より絶対値が大きくない最も近い整数に丸めます
(関数) [edit]
(C99)(C99)(C99)(C99)(C99)(C99)(C99)(C99)(C99)
最も近い整数に丸めます。 ちょうど中央の場合はゼロから遠ざかる方向に丸めます
(関数) [edit]
現在の丸めモードを使用して整数に丸めます
(関数) [edit]
(C99)(C99)(C99)(C99)(C99)(C99)(C99)(C99)(C99)
現在の丸めモードを使用して整数に丸めますが、結果が異なる場合は例外を発生します
(関数) [edit]