인코딩 | 디코딩 | 시각화

> unary | 눈금 | 단순함 <

// 유너리 부호화, 눈금표로 정수를 표현하는 가장 단순한 방법

[SIMPLE]

가장 단순한 코드

가장 기본적인 부호화로, 눈금표를 세는 것과 같습니다.

[VISUAL]

시각적 표현

눈금표를 활용한 직관적인 시각화.

[VARIANTS]

여러 변형

표준형, 반전형, 절단형 유너리 코드를 지원합니다.

>> 기술 정보

유너리 부호화의 동작 방식:

유너리 부호화에서는 정수 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 코드의 길이 표현 등 많은 가변 길이 코드의 핵심 구성 요소입니다. 여러 압축 알고리즘의 기초 개념이기도 합니다.

다른 언어