|
|
Компьютеры - Дельта-код Элиаса - Декодирование23 января 2011
Оглавление: 1. Дельта-код Элиаса 2. Декодирование 3. Эффективность
Алгоритм декодирования числа из дельта-кода Элиаса:
- Сосчитать M количество нулей во входном потоке до первой единицы.
- За единицей следуют M младших битов числа L, прочитать их и добавить к результату значение 2. Если биты L во входном потоке записаны от старших к младшим, то первую единицу после ведущей серии нулей можно читать как часть двоичного представления числа L, в этом случае добавлять 2 отдельным шагом нет необходимости.
- Следом идут L − 1 младших битов числа N, прочитать их и добавить к результату значение 2.
Пример декодирования последовательности битов 001010001:
- Прочитать из потока 001 и определить, что в начале 2 ведущих нуля.
- Прочитать из потока следующие M = 2 бита → 01; это даёт L = 2 + 012 = 4 + 1 = 5.
- Прочитать из потока следующие L − 1 = 4 бита → 0001; это даёт N = 2 + 00012 = 16 + 1 = 17.
Просмотров: 4380
|