바닥 함수와 천장 함수

수학과 컴퓨터 과학에서 **바닥 함수**()는 각 실수 이하의 최대 정수를 구하는 함수이다. **천장 함수**(天障函數, )는 각 실수 이상의 최소 정수를 구하는 함수이다. 바닥 함수는 **내림 함수** · **버림 함수** · **최대 정수 함수**(最大整數函數, )라고도 하며, 천장 함수는 **올림 함수** · **최소 정수 함수**(最小整數函數, )라고도 한다.

## 정의
섬네일|오른쪽|300px|바닥 함수의 그래프
섬네일|오른쪽|300px|천장 함수의 그래프

### 바닥 함수
**바닥 함수** \lfloor-\rfloor\colon\mathbb R\to\mathbb Z는 다음과 같다.
:\lfloor x\rfloor=\max\{n\in\mathbb Z\colon n\le x\}
즉, 실수 x의 바닥 함수 값은 x와 같거나 그보다 작은 정수 가운데 가장 큰 하나이다. 예를 들어, 다음과 같다.
:\lfloor 5.2\rfloor=5
:\lfloor-5.2\rfloor=-6
:\lfloor 3\rfloor=3
:\lfloor-4\rfloor=-4
바닥 함수의 여러 가지 표기법은 다음과 같다.
* \lfloor x\rfloor
* [x] 이를 **가우스 기호**라고 한다. 하지만 바닥 함수는 가우스 함수와 관련이 없다.
* \operatorname{floor}(x)

### 천장 함수
마찬가지로, **천장 함수** \lceil-\rceil\colon\mathbb R\to\mathbb Z는 다음과 같다.
:\lceil x\rceil=\min\{n\in\mathbb Z\colon n\ge x\}
즉, 실수 x의 천장 함수 값은 x와 같거나 그보다 큰 정수 가운데 가장 작은 하나이다. 예를 들어, 다음과 같다.
:\lceil 3.72\rceil=4
:\lceil-3.72\rceil=-3
:\lceil 4\rceil=4
:\lceil-2\rceil=-2
천장 함수의 여러 가지 표기법은 다음과 같다.
* \lceil x\rceil
* \operatorname{ceil}(x)

### 분수 부분 함수
**분수 부분 함수**(分數部分函數, ) \{-\}\colon\mathbb R\to[0,1)는 다음과 같다.
:\{x\}=x-\lfloor x\rfloor=\min\{y\in\mathbb R_{\ge 0}\colon x-y\in\mathbb Z\}
예를 들어, 다음과 같다.
:\{8.21\}=0.21
:\{-8.21\}=0.79
:\{5\}=0
:\{-7\}=0
분수 부분 함수의 여러 가지 표기법은 다음과 같다.
* \{x\}
* \operatorname{frac}(x)

## 성질
### 부등식
다음과 같은 부등식들이 성립한다.
:\lfloor x\rfloor\le x
:\lceil x\rceil-1
비슷하게, 다음과 같은 부등식들이 성립한다.
:x-1
:x\le\lceil x\rceil
:0\le\{x\}
삼각 부등식과 닮은 다음과 같은 부등식들이 성립한다.
:\lfloor x\rfloor+\lfloor y\rfloor\le\lfloor x+y\rfloor\le\lfloor x\rfloor+\lfloor y\rfloor+1
:\lceil x\rceil+\lceil y\rceil-1\le\lceil x+y\rceil\le\lceil x\rceil+\lceil y\rceil
바닥 함수와 천장 함수를 통해 실수 부등식과 동치인 정수 부등식을 얻을 수 있다. 즉, 임의의 n\in\mathbb Z 및 x\in\mathbb R에 대하여, 다음 두 부등식이 서로 동치이다.
* n>x
* n>\lfloor x\rfloor
마찬가지로, n 및 x에 대하여, 다음 두 부등식이 서로 동치이다.
* n
* n
마찬가지로, n 및 x에 대하여, 다음 두 부등식이 서로 동치이다.
* n\ge x
* n\ge\lceil x\rceil
마찬가지로, n 및 x에 대하여, 다음 두 부등식이 서로 동치이다.
* n\le x
* n\le\lfloor x\rfloor

### 항등식
천장 함수를 다음과 같이 바닥 함수를 써서 나타낼 수 있다.
:\lceil x\rceil=-\lfloor-x\rfloor=
\begin{cases}\lfloor x\rfloor&x\in\mathbb Z\\\lfloor x\rfloor+1&x\not\in\mathbb Z\end{cases}
비슷하게, 다음과 같은 항등식들이 성립한다.
:\lfloor-x\rfloor=
\begin{cases}-\lfloor x\rfloor&x\in\mathbb Z\\-\lfloor x\rfloor-1&x\not\in\mathbb Z\end{cases}
:\lceil-x\rceil=
\begin{cases}-\lceil x\rceil&x\in\mathbb Z\\-\lceil x\rceil+1&x\not\in\mathbb Z\end{cases}
:\{-x\}=
\begin{cases}0&x\in\mathbb Z\\-\{x\}+1&x\not\in\mathbb Z\end{cases}
임의의 정수는 바닥 함수와 천장 함수의 고정점이다.
:\lfloor n\rfloor=\lceil n\rceil=n\qquad n\in\mathbb Z
바닥 함수와 천장 함수의 정의에 따라, 다음과 같은 항등식들이 성립한다.
:\max\{n\in\mathbb Z\colon n\le x\}=\lfloor x\rfloor
:\min\{n\in\mathbb Z\colon n\ge x\}=\lceil x\rceil
:\min\{n\in\mathbb Z\colon n>x\}=\lfloor x\rfloor+1
:\max\{n\in\mathbb Z\colon n
바닥 함수와 천장 함수와 분수 부분 함수의 합성은 다음과 같다. 특히, 바닥 함수와 천장 함수와 분수 부분 함수는 모두 멱등 함수이다.
:\lfloor\lfloor x\rfloor\rfloor=\lfloor x\rfloor
:\lceil\lceil x\rceil\rceil=\lceil x\rceil
:\{\{x\}\}=\{x\}
:\lceil\lfloor x\rfloor\rceil=\lfloor x\rfloor
:\lfloor\lceil x\rceil\rfloor=\lceil x\rceil
:\{\lfloor x\rfloor\}=0
:\lfloor\{x\}\rfloor=0
:\{\lceil x\rceil\}=0
:\lceil\{x\}\rceil=\begin{cases}0&x\in\mathbb Z\\1&x\not\in\mathbb Z\end{cases}
임의의 n\in\mathbb Z 및 x\in\mathbb R에 대하여, 다음과 같은 항등식들이 성립한다. 특히, 분수 부분 함수는 양의 최소 주기가 1인 주기 함수이다.
:\lfloor x+n\rfloor=\lfloor x\rfloor+n
:\lceil x+n\rceil=\lceil x\rceil+n
:\{x+n\}=\{x\}
임의의 m,n\in\mathbb Z (n>0) 및 x\in\mathbb R에 대하여, 다음과 같은 항등식들이 성립한다.
:\left\lfloor\frac{x+m}n\right\rfloor=\left\lfloor\frac{\lfloor x\rfloor+m}n\right\rfloor
:\left\lceil\frac{x+m}n\right\rceil=\left\lceil\frac{\lceil x\rceil+m}n\right\rceil
:\biggl\lceil\frac mn\biggr\rceil=\left\lfloor\frac{m+n-1}n\right\rfloor
임의의 n\in\mathbb Z^+ 및 x,y\in\mathbb R에 대하여, 다음과 같은 항등식들이 성립한다.
:\lfloor\lfloor x/y\rfloor/n\rfloor=\lfloor x/(yn)\rfloor
:\lceil\lceil x/y\rceil/n\rceil=\lceil x/(yn)\rceil

### 합 공식
임의의 n\in\mathbb Z^+ 및 x\in\mathbb R에 대하여, 다음과 같은 합 공식이 성립한다. 이를 **[[에르미트 항등식]]**이라고 한다.
:\lfloor nx\rfloor=\lfloor x\rfloor+\left\lfloor x+\frac 1n\right\rfloor+\cdots+\left\lfloor x+\frac{n-1}n\right\rfloor
:\lceil nx\rceil=\lceil x\rceil+\left\lceil x-\frac 1n\right\rceil+\cdots+\left\lceil x-\frac{n-1}n\right\rceil
특히, x=m/n (m\in\mathbb Z)인 경우 다음과 같다.
:\begin{align}m
&=\biggl\lfloor\frac mn\biggr\rfloor+\left\lfloor\frac{m+1}n\right\rfloor+\cdots+\left\lfloor\frac{m+n-1}n\right\rfloor\\
&=\biggl\lceil\frac mn\biggr\rceil+\left\lceil\frac{m-1}n\right\rceil+\cdots+\left\lceil\frac{m-n+1}n\right\rceil\end{align}
특히, n=2인 경우 다음과 같은 항등식을 유도할 수 있다.
:m=\biggl\lfloor\frac m2\biggr\rfloor+\biggl\lceil\frac m2\biggr\rceil
임의의 m,n\in\mathbb Z^+ 및 x\in\mathbb R에 대하여, 다음이 성립한다.
:\biggl\lfloor\frac xn\biggr\rfloor+\biggl\lfloor\frac {x+m}n\biggr\rfloor+\left\lfloor\frac{x+2m}n\right\rfloor+\cdots+\left\lfloor\frac{x+(n-1)m}n\right\rfloor=\biggl\lfloor\frac xm\biggr\rfloor+\biggl\lfloor\frac {x+n}m\biggr\rfloor+\left\lfloor\frac{x+2n}m\right\rfloor+\cdots+\left\lfloor\frac{x+(m-1)n}m\right\rfloor
즉, 이러한 합 공식은 m,n의 순서와 무관하다. 특히, x=0인 경우 합이 다음과 같이 주어진다.
:\biggl\lfloor\frac mn\biggr\rfloor+\left\lfloor\frac{2m}n\right\rfloor+\cdots+\left\lfloor\frac{(n-2)m}n\right\rfloor=\frac{(m-1)(n-1)+\gcd\{m,n\}-1}2
특히, m,n이 서로소인 경우 (즉, \gcd\{m,n\}=1인 경우) 다음과 같다.
:\biggl\lfloor\frac mn\biggr\rfloor+\left\lfloor\frac{2m}n\right\rfloor+\cdots+\left\lfloor\frac{(n-2)m}n\right\rfloor=\frac{(m-1)(n-1)}2

### 푸리에 급수
분수 부분 함수는 1-주기 함수이며, 그 푸리에 급수는 다음과 같다.
:\{x\}=\frac 12-\frac 1\pi\sum_{n=1}^\infty\frac{\sin(2n\pi x)}n\qquad x\not\in\mathbb Z
바닥 함수와 천장 함수는 주기 함수가 아니므로, 이들의 푸리에 급수는 균등 수렴하지 않는다. 바닥 함수와 천장 함수는 조각마다 일차 함수이며, 분수 부분 함수는 조각마다 상수 함수이다. 이 셋의 불연속점 집합은 모두 정수 집합이다.

## 응용
### 정수 부분·분수 부분
실수 x의 정수 부분은 \lfloor x\rfloor이며, 분수 부분은 \{x\}이다. 분수 부분은 소수 부분이라 하기도 한다. 예를 들어, 다음과 같다.
:\lfloor 2.34\rfloor=2
:\{2.34\}=0.34
컴퓨터 과학에서는 정수 부분과 분수 부분을 조금 다르게 정의하기도 한다. 예를 들어, 다음과 같은 변형된 정수 부분 함수와 분수 부분 함수가 쓰인다.
:\operatorname{ip}(x):=\sgn(x)\lfloor|x|\rfloor=
\begin{cases}\lfloor x\rfloor&x\ge 0\\\lceil x\rceil&x
:\operatorname{fp}(x):=x-\operatorname{ip}(x)=\sgn(x)(|x|-\lfloor|x|\rfloor)=
\begin{cases}x-\lfloor x\rfloor&x\ge 0\\x-\lceil x\rceil&x

### 내림·올림

실수 x를 정수로 **[[내림]]**한 값은 \lfloor x\rfloor이며, 정수로 **올림**한 값은 \lceil x\rceil이다. 컴퓨터 과학에서는 변형된 내림·올림이 쓰이기도 한다. 즉, 실수 x를 정수로 내림(올림)한 값을 \operatorname{ip}(x)로 정의한다.

### 반올림
실수 x를 정수로 반올림한 값은 \lfloor x+0.5\rfloor이다. 예를 들어, 다음과 같다.
:\lfloor 2.34+0.5\rfloor=2
:\lfloor 7.5+0.5\rfloor=8
컴퓨터 과학에서는 반올림의 여러 가지 변형이 사용되는데, 이들은 반정수의 경우를 달리 정의하며, 그 밖의 경우는 원래의 반올림과 일치한다. 원래의 반올림은 반정수를 비교적 큰 정수로 근사한다. 반정수를 비교적 작은 정수로 근사하는 반올림은 x\mapsto\lceil x-0.5\rceil이며, 반정수를 절댓값이 비교적 큰 정수로 근사하는 반올림은 x\mapsto\sgn(x)\lfloor|x|+0.5\rfloor이며, 반정수를 절댓값이 비교적 작은 정수로 근사하는 반올림은 x\mapsto\sgn(x)\lceil|x|-0.5\rceil이다. 또한, **최근 정수 함수**(最近整數函數, )라고 불리는 다음과 같은 함수는 반정수를 짝수로 근사하는 반올림 함수이다.
:\operatorname{nint}(x)=\lfloor x\rceil:=
\lfloor x-0.5\rfloor-\left\lfloor\frac{x-0.5}2\right\rfloor-\left\lfloor-\frac{x-0.5}2\right\rfloor=
\begin{cases}\lfloor x+0.5\rfloor&x\not\in 2\mathbb Z+0.5\\\lfloor x-0.5\rfloor&x\in 2\mathbb Z+0.5\end{cases}

### 나머지 있는 나눗셈
두 정수 m,n\in\mathbb Z (n\ne 0)의 나머지 있는 나눗셈의 결과를 바닥 함수를 통해 나타낼 수 있다. 즉, 몫은
:\biggl\lfloor\frac mn\biggr\rfloor
이며, 나머지는
:m-\biggl\lfloor\frac mn\biggr\rfloor n
이다.

### 자릿수
b진법에서 정수 n의 자릿수는
:\lfloor\log_b|n|\rfloor+1=\lceil\log_b(|n|+1)\rceil
이다.

### 계승의 소인수 분해
양의 정수 n 및 소수 p에 대하여, p^e\mid n!인 최대 e는
:\left\lfloor\frac np\right\rfloor+\left\lfloor\frac n{p^2}\right\rfloor+\cdots+\biggl\lfloor\frac n{p^{\lfloor\log_pn\rfloor}}\biggr\rfloor
이다. 이를 르장드르 공식이라고 한다.

## 역사
1808년에 카를 프리드리히 가우스는 이차 상호 법칙의 세 번째 증명에서 기호 [x]를 사용하여 바닥 함수를 정의하였다. 이 기호는 1962년에 케네스 아이버슨이 《프로그래밍 언어》(*A Programming Language*)라는 책에서 바닥 함수와 천장 함수라는 용어를 정의하고 기호로 각각 \lfloor x\rfloor 와 \lceil x \rceil 로 나타낼 때까지 표준 형태였다. 지금은 두 사람의 기호가 모두 쓰이고 있다.

## 같이 보기
* 수학 기호

## 각주

## 외부 링크

* 
* 
* 
* 
* 
* 

분류:특수 함수
분류:수학 표기법
분류:단항 연산