Изменения

Перейти к: навигация, поиск

Гамма-, дельта- и омега-код Элиаса

922 байта добавлено, 01:16, 27 ноября 2014
Коды переменной длины (Variable + Variable)
==== Алгоритм построения гамма-кода Элиаса ====
'''Способ первый:'''
1. Записать число в двоичном представлении;
2. Перед двоичным представлением дописать нули, количество нулей на единицу меньше количества битов двоичного представления числа.
'''Способ второй:'''
1. Выделить из целого числа старший значащий бит (самую большую степень 2, которую число включает — 2N) и младшие N бит;
==== Декодирование ====
 
1. Считать все нули, встречающиеся до первой 1. Пусть N — количество этих нулей;
 
2. Принимая во внимание единицу, которая станет первым битом целого числа, со значением 2^N, считать оставшиеся N цифр целого числа.
 
==== Пример кодирования числа 15 ====
 
1. Записать число 15 в двоичном представлении --> <tex>1111_2</tex>;
 
2. Дописать перед числом три нуля --> '''0001111'''.
 
==== Пример декодирования последовательности битов 000010001 ====
 
1. Считываем нули до первой единицы, N = 4;
 
2. Считываем единицу и N = 4 бит. Получаем 2^4 + <tex>0001_2</tex> = 17.
577
правок

Навигация