Изменения
Перейти к навигации
Перейти к поиску
Строка 1:
Строка 1:
− +
− +
− +
− +
− +
− +
нет описания правки
'''Дельта-код Элиаса ''' — это [[универсальный код]] для кодирования положительных целых чисел, разработанный Питером Элиасом.
'''Дельта-код Элиаса ''' — это [[универсальный код]] для кодирования положительных целых чисел, разработанный Питером Элиасом.
Для того, чтобы закодировать число:
Для того, чтобы закодировать число N:
# Записать его в двоичном виде.
# Записать N в двоичном виде.
# Сосчитать биты и записать количество битов в двоичном виде (Х).
# Сосчитать значащие биты в N и записать их количество в двоичном виде (Х)
# Использовать двоичное значение, записанное в шаге 1 снова, удалить стоящий впереди бит и записать оставшиеся биты (Y).
# В двоичном представлении N, полученном на шаге 1, удалить старший бит и запомнить результат (Y).
# Присоединить второе двоичное значение (Y) к первому (X).
# К X присоединить Y.
# Сосчитать биты, записанные в шаге 2 (X), вычесть 1 из этого числа и добавить в начало много нулей.
# Добавить в начало число нулей, на единицу меньшее количества значащих бит в двоичном представлении X.
Аналогичным образом этот процесс можно описать так:
Аналогичным образом этот процесс можно описать так: