Изменения
Перейти к навигации
Перейти к поиску
Строка 61:
Строка 61:
− +
− +
− +
− +
− +
− При некотором старании этот код может быть также применён к целым числам с нулевыми или отрицательными значениями (см.: [[гамма-код Элиаса]]).+
стилевые правки
Пример для 001010001:
Пример для 001010001:
# Читаем из потока 001 и определяем, что в начале кода 2 ведущих ноля.
# Прочитать из потока 001 и определить, что в начале 2 ведущих ноля.
# Читаем из потока еще 2 бита, то есть вместе с результатом первого шага получаем код 00101.
# Прочитать из потока ещё 2 бита; вместе с результатом первого шага получится код 00101.
# Декодируем 00101 = 5.
# Декодировать 00101, результат — 5.
# Вычисляем N' = 5-1 = 4 — число оставшихся бит для завершения чтения полного кода. Читаем 4 бита и получаем 0001=1.
# N' = 5-1 = 4 — число бит, которые осталось прочитать. Прочитать 4 бита; результат — 0001=1.
# Закодированное число = 2<sup>4</sup> + 1 = 17.
# Закодированное число равно 2<sup>4</sup> + 1 = 17.
С помощью дополнительной обработки исходных значений дельта-код можно использовать также для кодирования нулевых и отрицательных целых чисел (см.: [[Гамма-код Элиаса#Обобщение]]).
== См. также ==
== См. также ==