1. Унарный код. Hеотрицательное целое n кодируется n-1 единицами, за которыми следует один ноль. Или n-1 нулями, за которыми следует одна единица.
Обозначим B(n) - двоичное представление целого n. |B(n)| - длина в битах этого представления. B'(n) - обозначает B(n) без наиболее значащего бита (который всегда равен 1).
2. Код С1. Состоит из 2 частей: сначала кодируется унарным кодом |B(n)|, затем добавляется B'(n).
3. Код С2. Получается из кода С1: за каждым битом первой части кода С1 записывается соответсвующий по порядку бит второй части кода С1.
4. Код С3. |B(n)| кодируется кодом С2, затем добавляется B'(n).
5. Код С4. Hачинаем с записи B(n). Добавляем слева двоичную запись числа |B(n)|-1, и продолжаем рекурсивно до тех пор, пока не будет записано двубитовое число. Справа от полученного числа добавляем 0.
David Salomon. Data Compression. The Complete Reference.Изменена 19.03.2011 06:45 MSK |