Jump to content

Кодирование Негафибоначчи

В математике представляет кодирование негафибоначчи собой универсальный код , который кодирует ненулевые целые числа в двоичные кодовые слова . Оно похоже на кодирование Фибоначчи , за исключением того, что оно позволяет представлять как положительные, так и отрицательные целые числа. Все коды заканчиваются на «11» и не имеют цифры «11» в конце.

Метод кодирования

[ редактировать ]

Чтобы закодировать ненулевое целое число X :

  1. Вычислите наибольшее (или наименьшее) кодируемое число с помощью N битов путем суммирования нечетных (или четных) чисел негафибоначчи от 1 N. до
  2. Когда будет определено, что N бит достаточно, чтобы содержать X , вычтите N-е число негафибоначчи из X , отслеживая остаток, и поместите единицу в N-й бит вывода.
  3. Двигаясь вниз от N-го бита к первому, сравните каждое из соответствующих чисел негафибоначчи с остатком. Вычтите его из остатка, если абсолютное значение разницы меньше И если в следующем старшем бите еще нет единицы. В соответствующий бит помещается единица, если вычитание выполнено, или ноль, если нет.
  4. Для завершения поместите единицу в бит N+1 .

Чтобы декодировать токен в коде, удалите последнюю «1», присвойте оставшимся битам значения 1, –1, 2, –3, 5, –8, 13... (числа негафибоначчи) и добавьте « 1" биты.

Представление Негафибоначчи

[ редактировать ]

Кодирование Негафибоначчи тесно связано с представлением Негафибоначчи , позиционной системой счисления, иногда используемой математиками. Код негафибоначчи для конкретного ненулевого целого числа в точности соответствует коду представления негафибоначчи целого числа, за исключением того, что порядок цифр изменен на обратный и в конце добавлена ​​дополнительная цифра «1». Код негафибоначчи для всех отрицательных чисел имеет нечетное количество цифр, а для всех положительных чисел — четное количество цифр.

Код для целых чисел от −11 до 11 приведен ниже.

Число Представление Негафибоначчи Код Негафибоначчи
−11 101000 0001011
−10 101001 1001011
−9 100010 0100011
−8 100000 0000011
−7 100001 1000011
−6 100100 0010011
−5 100101 1010011
−4 1010 01011
−3 1000 00011
−2 1001 10011
−1 10 011
0 0 (не может быть закодировано)
1 1 11
2 100 0011
3 101 1011
4 10010 010011
5 10000 000011
6 10001 100011
7 10100 001011
8 10101 101011
9 1001010 01010011
10 1001000 00010011
11 1001001 10010011

См. также

[ редактировать ]

Цитируемые работы

[ редактировать ]
  • Кнут, Дональд (2008). Числа Негафибоначчи и гиперболическая плоскость . Ежегодное собрание Математической ассоциации Америки. Сан-Хосе, Калифорния.
  • Кнут, Дональд (2009). Искусство компьютерного программирования , Том 4, Глава 1: Побитовые приемы и методы; Бинарные диаграммы решений . Аддисон-Уэсли. ISBN  978-0-321-58050-4 . В предварительном проекте раздела 7.1.3 см., в частности, стр. 36–39.
  • Маргенштерн, Морис (2008). Клеточные автоматы в гиперболических пространствах . Достижения в области нетрадиционных вычислений и клеточных автоматов. Том. 2. Архивы современности. п. 79. ИСБН  9782914610834 .
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 9b41035877cfcece695e9101fd501037__1698111600
URL1:https://arc.ask3.ru/arc/aa/9b/37/9b41035877cfcece695e9101fd501037.html
Заголовок, (Title) документа по адресу, URL1:
Negafibonacci coding - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)