> unary | 눈금 | 단순함 <
// 유너리 부호화, 눈금표로 정수를 표현하는 가장 단순한 방법
가장 단순한 코드
가장 기본적인 부호화로, 눈금표를 세는 것과 같습니다.
시각적 표현
눈금표를 활용한 직관적인 시각화.
여러 변형
표준형, 반전형, 절단형 유너리 코드를 지원합니다.
>> 기술 정보
유너리 부호화의 동작 방식:
유너리 부호화에서는 정수 n 을 동일한 기호 n 개와 그 뒤에 오는 종료 기호로 표현합니다. 표준 유너리는 1 을 n 번 반복한 후 0 을 붙입니다. 반전 유너리는 0 을 n 번 반복한 후 1 을 붙입니다. 절단 유너리는 가능한 값의 범위가 알려져 있을 때 최대값에 대해 종료 기호를 생략합니다.
유너리 변형:
표준 유너리: 0 → 0 1 → 10 3 → 1110 5 → 111110 반전 유너리: 0 → 1 1 → 01 3 → 0001 5 → 000001 절단 유너리 범위 0–3: 0 → 비어 있음 1 → 1 2 → 11 3 → 111
유너리 부호화를 사용하는 이유:
- >다른 코드의 구성 요소로 사용
- >Golomb 및 Rice 코드에서 몫 부분에 사용
- >Elias 계열 코드에서 길이 표현에 사용
- >구현이 매우 간단함
- >압축 알고리즘을 학습할 때 유용함
>> 자주 묻는 질문
유너리 부호화란 무엇인가요?
유너리 부호화는 가장 단순한 가변 길이 코드입니다. 정수 n 을 하나의 기호 보통 1 을 n 번 반복한 뒤 다른 기호 보통 0 을 종료 기호로 붙이는 방식으로 표현합니다. 이는 이진수로 된 눈금표와 비슷합니다.
유너리 부호화는 언제 효율적인가요?
유너리 부호화는 매우 작은 정수이거나 대부분의 값이 0 또는 1 인 강하게 치우친 분포에서만 효율적입니다. 정수 n 을 표현하는 데 n 플러스 1 비트가 필요하므로 큰 값에는 매우 비효율적입니다. 따라서 주로 다른 부호화 방식의 구성 요소로 사용됩니다.
절단 유너리란 무엇인가요?
절단 유너리는 가능한 값의 범위가 미리 알려져 있을 때 사용됩니다. 최대값은 길이만으로도 고유하게 식별되므로 종료 기호가 필요하지 않습니다. 이로 인해 범위의 최대값에 대해 한 비트를 절약할 수 있습니다.
유너리 부호화는 어디에 사용되나요?
유너리 부호화는 단독으로 사용되는 경우는 드물지만, Golomb 및 Rice 코드의 몫 부분, Elias Gamma 와 Delta 코드의 길이 표현 등 많은 가변 길이 코드의 핵심 구성 요소입니다. 여러 압축 알고리즘의 기초 개념이기도 합니다.