577
правок
Изменения
→Гамма-код Элиаса
=== Гамма-код Элиаса ===
{{Определение
|id = def1
|definition ='''Гамма-код Элиаса ''' {{---}} это универсальный код для кодирования положительных целых чисел, разработанный Питером Элиасом. Он обычно используется при кодировании целых чисел, максимальное значение которых не может быть определено заранее, или чтобы сжать данные, в которых маленькие значения встречаются более часто, чем большие.}}
==== Алгоритм построения гамма-кода Элиаса ====
Способ первый:
1. Записать число в двоичном представлении;
2. Перед двоичным представлением дописать нули, количество нулей на единицу меньше количества битов двоичного представления числа.
Способ второй:
1. Выделить из целого числа старший значащий бит (самую большую степень 2, которую число включает — 2N) и младшие N бит;
2. Записать N в унарном коде, то есть N нулей, за которыми следует единица;
3. Дописать N младших двоичных цифр числа следом за этим унарным кодом.
==== Декодирование ====