кодировать | декодировать | визуализировать

> unary | штрихи | просто <

// Унарное кодирование — самый простой способ представления целых чисел с помощью штриховых отметок

[SIMPLE]

Самый простой код

Базовая схема кодирования, просто подсчёт с помощью штрихов.

[VISUAL]

Наглядное представление

Понятная визуализация кода в виде штриховых отметок.

[VARIANTS]

Разные варианты

Стандартный, инверсный и усечённый унарные коды.

>> техническая информация

Как работает унарное кодирование:

Унарное кодирование представляет целое число n в виде n одинаковых символов, за которыми следует символ окончания. В стандартной схеме используются n единиц, за которыми следует ноль. В инверсной схеме используются n нулей, за которыми следует единица. В усечённой схеме символ окончания для максимального значения из известного диапазона опускается.

Варианты Unary:

Стандартное унарное: 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

Зачем использовать унарное кодирование:

  • >Строительный блок для других кодов
  • >Используется для кодирования частного в кодах Голомба и Райса
  • >Префиксная часть в кодах Элиаса
  • >Очень просто реализовать
  • >Полезно для обучения алгоритмам сжатия

>> ответы на частые вопросы

Что такое унарное кодирование?

Унарное кодирование — это самый простой код переменной длины. Целое число n представляется в виде n повторений одного символа обычно единицы, после которых следует другой символ обычно ноль как знак окончания. Это похоже на подсчёт с помощью штрихов в двоичном виде.

Когда унарный код эффективен?

Унарный код эффективен только для очень маленьких целых чисел или сильно смещённых распределений, в которых большинство значений равно 0 или 1. Для представления числа n требуется n плюс 1 бит, поэтому для больших значений он крайне неэффективен. В основном используется как компонент внутри других кодов.

Что такое усечённый унарный код?

Усечённый унарный код применяется, когда диапазон значений известен заранее. Для максимального значения знак окончания не нужен, так как его можно однозначно определить по длине кода. Это позволяет сэкономить один бит для максимального значения.

Где используется унарное кодирование?

Унарное кодирование редко применяется отдельно, но является важной частью кодов Голомба и Райса для кодирования частного, кодов Эллиаса Gamma и Delta для представления длин и многих других кодов переменной длины. Оно лежит в основе многих алгоритмов сжатия.

Другие языки