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

Как раскодировать и закодировать такой код? - C++

Восстановить пароль Регистрация
 
taras atavin
Ушёл с форума.
 Аватар для taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
10.05.2013, 14:20     Как раскодировать и закодировать такой код? #1
На новизну кода не претендую, подозреваю, что это код Грея. За исключением основания и рефлективности он обладает всеми свойствами двоичного кода Грея. Он одношаговый, циклический и, если не рассматривать кодирование отдельных троичных цифр, не избыточный. Кодовая таблица строится так: начинаем со всех нолей, дальше каждый следующий код получается из предыдущего инкрементом ровно одного разряда на единицу по модулю 3, причём, каждый раз самого младшего из тех, при чьём инкременте на единицу по модулю 3 не получается один из предыдущих кодов. Троичные же цифры кодируются двоичным избыточным кодом с физической реализацией на основе прозрачности с двумя вариантами двойки: 0=00, 1=01, 2=11=10. Клетки кодового диска, соответствующие двойке, делятся по среднему радиусу пополам, так, чтоб с единицей (с 01) соседствовал код 11, а с нолём (с 00) - 10. Тогда при любом однократном повороте сработает ровно один диод. Теперь задача: есть начинающийся с ноля индекс кода из этой таблицы во внутренем представлении целых беззнаковых чисел, но нет самой таблицы, она лишь подозревается, а разрядность может быть и 4, и 6 трит, а может и больше, требуется максимально быстро получить сам код троичном предствалении в виде символьной строки. И обратная задача: есть отдельный код из этой таблицы в двоично-троичном коде, но нет самой таблицы, а разрядность может быть и 4, и 6 трит, а может и больше, требуется получить начинающийся с ноля индекс этого кода во внутреннем представлении целых беззнаковых чисел.

Добавлено через 1 минуту
То есть в прямой задаче дано 25, надо получить "0202". А в обратной дано 00110011, или 00100010, надо получить 25.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.05.2013, 14:20     Как раскодировать и закодировать такой код?
Посмотрите здесь:

C++ [Решено][C++] Как тут можно "схитрить" и скомпилировать такой код?
Вот нашол такой код C++
Соптимизирует ли (любой) компилятор такой код? C++
C++ Написал вот такой код, ввода структуры. Первая структурная переменная вводится, а вторая нет. В чем дело?
Не совсем понятно как работает такой код C++
C++ Как закодировать методом циклического сдвига?
Как написать такой код в си++? C++
Можно ли писать такой код,мне в дальнейшем надо будет наследовать x и y, а другие два елемента нет C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 12:42. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru