단항 부호는 양의 정수 또는 음수가 아닌 정수를 부호화하는 과정에서 그 길이를 이용하여 자연수를 나타내는 부호화 방식이다. 0 또는 1의 개수를 세고 반대 기호가 나타나면 읽는걸 종료하는 방식으로 구현되기 때문에 간단하게 구현 할 수 있다.
n(음수가 아닌 정수) | n(양의 정수) | 부호화 예시 | 다른 표현 방법 |
---|---|---|---|
0 | 1 | 0 | 1 |
1 | 2 | 10 | 01 |
2 | 3 | 110 | 001 |
3 | 4 | 1110 | 0001 |
4 | 5 | 11110 | 00001 |
5 | 6 | 111110 | 000001 |
6 | 7 | 1111110 | 0000001 |
7 | 8 | 11111110 | 00000001 |
8 | 9 | 111111110 | 000000001 |
9 | 10 | 1111111110 | 0000000001 |
단항 코딩은 p=0.5인 기하 분포의 경우에 최적으로 동작한다. 즉, n=1,2,3,... 인 경우에 대하여 다음과 같은 경우이다.