@Corvette1
студент, информационная безопаность

Как построить функцию декодирования классического кода Элиаса, если прямое кодирование работает правильно?

Всем привет, прямая функция кодирования классического кода Элиаса исправна, все работает:
return (int(log(int(log(number,2)),2))*'0'+' '+str(bin(int(log(number,2))+1))[2:]+' '+str(bin(number)[3:]))

а вот как сделать обратную, не знаю.. условно из 000100110001110 в 398. Выручайте)
  • Вопрос задан
  • 101 просмотр
Пригласить эксперта
Ответы на вопрос 1
wataru
@wataru Куратор тега Алгоритмы
Разработчик на С++, экс-олимпиадник.
Опишите словами, что делает это кодирование, что оно пишет в файл?

И читайте это:
1) подсчитайте сколько нулей идет в начале строки.
2) Это сколько бит надо прочитать дальше и перевести в десятичную систему счисления.
3) Это столько бит, сколько нужно прочитать дальше и перевести в десятичную систему, чтобы раскодировать число.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы