Форум программистов, компьютерный форум CyberForum.ru

Дельта код Элиаса(Элайеса) - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ подскажите, пожалуйста, как и где скачать c++ http://www.cyberforum.ru/cpp-beginners/thread842639.html
добрый день! подскажите, пожалуйста, где скачать c++, вернее саму среду разработки (программирования) и сколько она примерно весит? заранее спасибо!
C++ Как повторно проинициализировать переменную конструктором? Создал в классе переменную и проинициализировал ее в конструкторе. class A { int var; public: A() : var(0) }; http://www.cyberforum.ru/cpp-beginners/thread842632.html
C++ Прямая задана уравнением ax+bx+c=0, a и b не равны 0
Прямая задана уравнением ax+bx+c=0, a и b не равны 0. В файле заданы коэффициенты N (N>=3) прямых. Определить, имеются ли среди этих прямых три прямые, пересекающиеся в одной точке. Использовать графику для визуализации прямых. Отблагодарю.
Разработать программу для создания списка слов, хранимого в текстовом файле C++
Ребят помогите срочно надо.... Разработать программу для создания списка слов, хранимого в текстовом файле. Слова в файле могут быть записаны в произвольном порядке. В окне программы должна быть возможность просмотра слов, начинающихся с заданной буквы, и редактирования списка: исправление слов, добавление, удаление.
C++ inline - функции http://www.cyberforum.ru/cpp-beginners/thread842606.html
Стоит-ли добавлять префикс inline ко всем функциям, состоящим из 1-2 строк?
C++ Списки, Стеки,Очереди (На сколько кусков распадется оставшаяся часть листа? ) Доброго всем времени суток!! Помогите написать программу: Из листа клетчатой бумаги размером М*N клеток удалили некоторые клетки. На сколько кусков распадется оставшаяся часть листа? Пример. Если из шахматной доски удалить все клетки одного цвета, то оставшаяся часть распадется на 32 куска. подробнее

Показать сообщение отдельно
kasoleg
0 / 0 / 0
Регистрация: 19.04.2013
Сообщений: 2

Дельта код Элиаса(Элайеса) - C++

19.04.2013, 16:31. Просмотров 886. Ответов 0
Метки (Все метки)

Добрый день! Расскажите, пожалуйста, как происходит кодирование и сжатие по дельта коду Элиаса. Как происходит кодирование, примерно понятно, а на чем основано сжатие - нет.
Алгоритм кодирования числа N:
Сосчитать L — количество значащих битов в двоичном представлении числа N.
Сосчитать M — количество значащих битов в двоичном представлении числа L.
Записать M - 1 нулей и одну единицу.
Дописать L_2 — M - 1 младших битов двоичного представления числа L без старшей единицы (2^{M-1}).
Дописать N_2 — L - 1 младших битов двоичного представления числа N без старшей единицы (2^{L-1}).

Пример кодирования числа 10:

В двоичном представлении числа N = 10 = 1010_2 4 значащих бита (L = 4).
В двоичном представлении числа L = 4 = 100_2 3 значащих бита (M = 3).
Записываем M-1 = 2 нуля и одну единицу → 001.
Дописывем биты числа L без старшей единицы → 00.
Дописывем биты числа N без старшей единицы → 010.
Результат — 00100010.

Так где же здесь сжатие, если было число 1010, а стало 00100010?
Заранее благодарен.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru