y=⌊x⌋ 床関数 y=⌊x⌋ のグラフ
y=⌊x⌋ は、x を超えない最大の整数を返す関数です1。床関数、あるいはガウス記号と呼ばれます。数直線の上で、x から左向きに見て最初に出会う整数、と考えると分かりやすいでしょう。
| x | ⌊x⌋ |
|---|
| 2.7 | 2 |
| 3 | 3 |
| −0.5 | −1 |
| −1.2 | −2 |
定義域と値域
定義域はすべての実数です。返る値はつねに整数なので、値域は整数全体という、とびとびの集合になります。連続な直線ではなく、離散的な高さしかとりません。
グラフの形
グラフは階段状です。各段は長さ 1 の水平な線分で、整数のたびに 1 だけ跳ね上がります。
| 区間 | 値 |
|---|
| [−1,0) | −1 |
| [0,1) | 0 |
| [1,2) | 1 |
各段は左端を含み、右端を含みません。たとえば 1≤x<2 ではつねに y=1 で、x=2 に達した瞬間に y=2 へ跳びます。
不連続点
すべての整数で不連続です。整数 n に右から近づくと極限は n ですが、左から近づくと極限は n−1 になり、両者が一致しません。跳びの大きさはつねに 1 です。
整数以外の点では、まわりで値が一定なので微分でき、導関数は 0 です。傾きが 0 の平らな段と、突然の跳びだけでできた関数です。
単調性
x が増えれば値は減らないので、単調に非減少です。ただし段の上では値が変わらないため、狭義の単調増加ではありません。
負の数での注意
⌊−1.2⌋=−2 であって −1 ではありません。床関数は小数を切り捨てるのではなく、つねに −∞ の側へ丸めます。多くのプログラミング言語で整数除算が 0 の側へ丸めるのとは違う挙動なので、負の数を扱うときは注意が必要です。
他の関数との関係
- x 以上の最小の整数を返す天井関数 ⌈x⌉ が対になる
- 差 x−⌊x⌋ は小数部分を表し、周期 1 ののこぎり波になる
- 四捨五入は ⌊x+0.5⌋ と書ける
応用
正の整数 N の桁数は、床関数を使って次のように求まります。
⌊log10N⌋+1 整数除算の商 ⌊ba⌋、配列の添字の計算、ページ送りの計算など、連続した量を段階に区切る場面で広く使われます。
- Floor and ceiling functions、Wikipedia