> unary | kreski | prosto <

// Kodowanie unarne, najprostszy sposób reprezentacji liczb całkowitych za pomocą kresek zliczających

[SIMPLE]

Najprostszy kod

Najbardziej podstawowe kodowanie, po prostu zliczanie kresek.

[VISUAL]

Reprezentacja wizualna

Czytelna wizualizacja kodu za pomocą kresek.

[VARIANTS]

Wiele wariantów

Standardowe, odwrócone i obcięte kody unarne.

>> informacje techniczne

Jak działa kodowanie unarne:

Kodowanie unarne reprezentuje liczbę całkowitą n jako n identycznych symboli zakończonych separatorem. W wariancie standardowym są to n jedynek zakończonych zerem. W wariancie odwróconym są to n zer zakończonych jedynką. W wariancie obciętym pomija się separator dla największej wartości w znanym przedziale.

Warianty Unary:

Standardowe unarne: 0 → 0 1 → 10 3 → 1110 5 → 111110 Odwrócone unarne: 0 → 1 1 → 01 3 → 0001 5 → 000001 Obcięte przedział 0–3: 0 → puste 1 → 1 2 → 11 3 → 111

Dlaczego używać kodowania unarnego:

  • >Budulec dla innych kodów
  • >Część ilorazowa w kodach Golomba i Rice'a
  • >Prefiks w kodach Eliasa
  • >Łatwe do zaimplementowania
  • >Przydatne w nauczaniu algorytmów kompresji

>> najczęściej zadawane pytania

Czym jest kodowanie unarne?

Kodowanie unarne to najprostszy kod o zmiennej długości. Liczbę całkowitą n reprezentuje się jako n powtórzeń jednego symbolu najczęściej 1, po którym następuje inny symbol najczęściej 0 pełniący rolę znacznika końca. Jest to odpowiednik zapisu liczb za pomocą kresek w wersji binarnej.

Kiedy kod unarny jest wydajny?

Kod unarny jest wydajny tylko dla bardzo małych liczb całkowitych lub silnie skośnych rozkładów, w których większość wartości to 0 lub 1. Do przedstawienia liczby n potrzeba n plus 1 bitów, dlatego dla dużych wartości jest on bardzo nieefektywny. W praktyce stosuje się go głównie jako element innych kodów.

Czym jest obcięte kodowanie unarne?

Obcięte kodowanie unarne stosuje się, gdy znany jest przedział wartości. Największa wartość nie wymaga znacznika końca, ponieważ jest jednoznacznie identyfikowana przez swoją długość. Pozwala to zaoszczędzić jeden bit dla wartości maksymalnej.

Gdzie używa się kodowania unarnego?

Kodowanie unarne rzadko używane jest samodzielnie, ale stanowi kluczowy komponent kodów Golomba i Rice'a do kodowania ilorazów, kodów Elias Gamma i Delta do długości oraz wielu innych kodów o zmiennej długości. Jest jednym z podstawowych narzędzi w algorytmach kompresji.

Inne języki