y=xy = \lceil x \rceil

天井関数 y=xy = \lceil x \rceil のグラフ

y=xy = \lceil x \rceil天井関数と呼ばれ、xx 以上の最小の整数を返します1。記号  \lceil\ \rceil は天井を思わせる形で、床関数 x\lfloor x \rfloor と対になる関数です。

xxx\lceil x \rceil
2222
2.12.133
2.92.933
1.2-1.21-1

整数はそのまま、整数でない値は一つ上の整数へ切り上げられます。負の数では 00 に近づく向き、すなわち数直線の右向きに丸められる点に注意してください。

定義域と値域

定義域はすべての実数で、値域は整数全体です。グラフは高さが整数の水平な線分が並ぶ階段状になります。

区間
(1,0](-1, 0]00
(0,1](0, 1]11
(1,2](1, 2]22

各段は幅 11 で、右端(整数点)を含み左端を含みません。床関数とは端点の含み方がちょうど逆になっています。

不連続点と跳び

関数はすべての整数で不連続です。整数 nn では左からの極限が nn、関数値も nn なので左からは連続ですが、nn を少しでも超えると値が n+1n+1 に跳ね上がります。跳びの幅はつねに 11 です。

天井関数は左連続な関数で、床関数が右連続なのと対照的です。

床関数との関係

天井関数と床関数は、符号を反転させて入れ替える関係があります。

x=x\lceil x \rceil = -\lfloor -x \rfloor

また xx が整数でなければ x=x+1\lceil x \rceil = \lfloor x \rfloor + 1xx が整数なら両者は等しくなります。この関係を使えば、床関数さえ計算できれば天井関数も求められます。

xxx\lfloor x \rfloorx\lceil x \rceilxx\lceil x \rceil - \lfloor x \rfloor
2.32.3223311
1.2-1.22-21-111
33333300

応用

nn 個のものを 11kk 個ずつ詰めるのに必要な箱の数は、切り上げで求められます。

nk\left\lceil \frac{n}{k} \right\rceil

たとえば 1717 個の商品を 1155 個ずつ詰めるなら 44 箱が必要です。

  • 必要な箱やバスの台数
  • 必要なページ数
  • 確保するメモリのブロック数

最後の一つがあふれるぶんを数え落とさないために、こうした場面ではつねに切り上げを使います。

  1. Floor and ceiling functions、Wikipedia