Изменения
Перейти к навигации
Перейти к поиску
Строка 7:
Строка 7:
− +
− +
− +
Строка 58:
Строка 58:
− +
→Описание алгоритма: стилевые правки
Аналогичный способ описания этого процесса:
Аналогичный способ описания этого процесса:
# Разделить целое число на самую большую степень 2, которую оно включает (2<sup>N</sup>). Получить остаток от деления , выражаемый N младшими двоичными цифрами от данного целого числа.
# Выделить из целого числа старший значащий бит (самую большую степень 2, которую число включает — 2<sup>N</sup>) и младшие N бит.
# Записать N в унарном коде; то есть N нолей, за которыми следует единица.
# Записать N в унарном коде; то есть N нолей, за которыми следует единица.
# Присоединить N двоичных цифр остатка в конец этого унарного кода.
# Дописать N младших двоичных цифр числа следом за этим унарным кодом.
Начало кодирования:
Начало кодирования:
# Считать все нули, встречающиеся до первой 1. Пусть N — количество этих нулей.
# Считать все нули, встречающиеся до первой 1. Пусть N — количество этих нулей.
# Принимая во внимание единицу, которая была достигнута как первая цифра целого числа, со значением 2<sup>N</sup>, считать оставшиеся N цифр целого числа.
# Принимая во внимание единицу, которая станет первым (самая значащим) битом целого числа, со значением 2<sup>N</sup>, считать оставшиеся N цифр целого числа.
Гамма-кодирование используется в приложениях, где самое большое значение не может быть известно заранее, или чтобы сжать данные, в которых маленькие значения встречаются более часто чем большие.
Гамма-кодирование используется в приложениях, где самое большое значение не может быть известно заранее, или чтобы сжать данные, в которых маленькие значения встречаются более часто чем большие.