Коды Элайса.

Maxime, 9.9.98

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 Яндекс цитирования Рейтинг@Mail.ru