Кодирование данных в C (переключение битов на основе схемы упорядочения)

218
ThePickle

Я пытаюсь создать программу, в которой, основываясь на определенной схеме упорядочения, я могу взять символы и перевернуть их в 64-битной последовательности, чтобы отследить, что я получил заглавную букву А. Например, с учетом этого упорядочения:

ABCDEFGHIJKLMNOPQRSTUVWXYZ.0123456789, АБВГДЕЖЗИКЛМНОПРСТУФХЧШЭЮЯ

Как я могу ввести строку «Aza» и перевернуть 63-й, 0-й, 25-й и 26-й бит? Я пытаюсь создать алгоритм для этого. Я знаю, что могу жестко закодировать битовую позицию всех вышеперечисленных символов в перечислении, но какой будет алгоритм побитовой операции для этого.

Любая помощь приветствуется.

0
A) Этот вопрос, по сути, требует помощи в разработке целого решения и того, что уже разработано, что делает его одновременно очень широким и не особенно полезным, и B) вы не включили никакой информации о том, что вы пробовали до сих пор, что не удалось, и где в процессе вы застряли. Мы на самом деле не являемся источником «разработки целого решения», и при этом мы не изобретаем колесо, и нам действительно очень нравится, если вы расскажете, что вы уже пробовали и как это не удалось, чтобы мы не в конечном итоге повторять то, что вы уже сделали. music2myear 5 лет назад 1
Я просто спрашиваю, может ли кто-нибудь помочь мне увидеть какой-то шаблон или алгоритм. Я не собираюсь никого строить решение. Просто куда я могу пойти с этим? Какие операторы мне следует использовать? Стоит ли смотреть на значения ASCII каждого символа и делать с ними математические вычисления, чтобы найти расположение? ThePickle 5 лет назад 0
Откуда берутся эти битовые позиции (63,0,25,26)? Вопрос очень запутанный, уточните пожалуйста. Кстати: вы знаете, что каждый символ имеет ширину всего 8 бит user3629249 5 лет назад 0
Как вопрос программирования, не лучше ли это для переполнения стека? Тем не менее, помните, что «1 << n» в C возвращает число, в котором установлен только бит n-1. Christoph Sommer 5 лет назад 0

0 ответов на вопрос