|
-25 / 0 / 0
Регистрация: 12.09.2009
Сообщений: 74
|
|
Написать свою систему счисления21.03.2019, 12:30. Показов 2909. Ответов 10
Метки нет (Все метки)
Всем привет!
Появилась нужда для понимания кодирования, суть: есть строка: AABBCCDDEEFF шаг 2 символа, возможные символы: ABCDEF преобразовать в кодировку c символами: 0123456789 шаг 1 символ То есть: AA -> 0, AB -> 1, AC -> 2, AD ->3, AE -> 4, AF -> 5, AAAA -> 6, AAAB -> 7, AAAC -> 8, AAAD -> 9 AAAE -> 00, AAAF -> 01 ... и тд. Не могу сообразить как такое провернуть... Подскажите алгоритм, пожалуйста...
0
|
|
| 21.03.2019, 12:30 | |
|
Ответы с готовыми решениями:
10
Перевод дробной части числа из десятичной системы счисления в любую другую систему счисления Проверка на систему счисления |
|
Модератор
|
||||||
| 21.03.2019, 13:06 | ||||||
|
k01dun, можно сделать метод возвращающий из строки последовательность пар.
Что-нибудь в духе
Добавлено через 1 минуту Пишу со смарта - могут быть ошибки.
0
|
||||||
|
-25 / 0 / 0
Регистрация: 12.09.2009
Сообщений: 74
|
||||||
| 21.03.2019, 14:06 [ТС] | ||||||
|
это не совсем то.. мне посоветовали через словари, я сделал пока что так:
Добавлено через 7 минут и еще, как сгенерировать словарь динамически? потому что он может достигать огромных размеров, яж не могу руками все значения прописывать... типа взять все пары AA-FF, потом AAAA-FFFF и так далее...
0
|
||||||
|
Модератор
|
|
| 21.03.2019, 14:52 | |
|
k01dun, через словарь может делать преобразование пары в число. Но ни как не всей строки.
Получаете указанным выше методом пары из строки, потом преобразует каждую пару в число (математически или через словарь), из полученной последовательности чисел получаете конечный результат. Добавлено через 7 минут k01dun, и из Вашего примера не понять принцип декодирования. BB - какое число? CCFF - ?
0
|
|
|
-25 / 0 / 0
Регистрация: 12.09.2009
Сообщений: 74
|
|
| 21.03.2019, 15:03 [ТС] | |
|
Элд Хасп
BB - 7 CCFF - не знаю какое, словарь большой нужен уже используются только 0-9 то есть 0-9 потом 00-09 потом 01-19 потом 02-29
0
|
|
|
-25 / 0 / 0
Регистрация: 12.09.2009
Сообщений: 74
|
|
| 21.03.2019, 15:18 [ТС] | |
|
СС - 4,
9 это BD Вы декодируете парами, но там не пары... ключи только от AA до FF AA-FF AAAA-FFFF AAAAAA-FFFFFF ... AAAAAAAAAAAA-FFFFFFFFFFFF значения только числа 0-9 0-9 00-09 10-19 ... 100-999 ... 1000-9999
0
|
|
|
Модератор
|
|
| 21.03.2019, 15:24 | |
|
k01dun, да, это я описку совершил 9 это BD.
Из Ваших объяснений, по-моему, это шестиричная СС. Просто вместо цифр используются буквы. FF - это 35. Также? Если да, то надо использовать "стандартный" метод преобразования СС. Сейчас напишу пример.
0
|
|
|
-25 / 0 / 0
Регистрация: 12.09.2009
Сообщений: 74
|
||||||
| 21.03.2019, 15:49 [ТС] | ||||||
|
хорошо, давайте пример проще
входная строка может содержать 0-9 символы: string sym = "0123456789"; у меня есть символы для кодирования например: AB string alts = "AB"; как мне закодировать пришедшую строку используя alts? чтоб например: 0 = A 1 = B 2 = AA 3 = AB 4 = BB 5 = AAA 6 = AAB 7 = ABA 8 = ABB 9 = BAA я просто не соображу как мне сделать цикл(ы) так, чтоб он создавал мне словарь основываясь на строках: string sym = "0123456789"; string alts = "AB"; чтоб например, если заменить alts на скажем: !@#$%^&*()_+ то он строил бы так сказать хэш используя эти символы: 0 - ! 1 - @ 2 - # 3 - $ 4 - % 5 - ^ 6 - & 7 - * 8 - ( 9 - ) 00 - !! 01 - !@ 02 - !# это не двустороннее шифрование а построение так сказать хэш таблицы, основываясь на порядке символов в строке вот что у меня получилось сейчас:
0
|
||||||
|
-25 / 0 / 0
Регистрация: 12.09.2009
Сообщений: 74
|
|
| 22.03.2019, 09:43 [ТС] | |
|
все решил через массивы, можно закрывать.
0
|
|
| 22.03.2019, 09:43 | |
|
Помогаю со студенческими работами здесь
11
Перевод в систему счисления
Перевод из 16 в 10 систему счисления Перевод в римскую систему счисления Перевод числа в семеричную систему счисления Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Оттенки серого
Argus19 18.03.2026
Оттенки серого
Нашёл в интернете 3 прекрасных модуля:
Модуль класса открытия диалога открытия/ сохранения файла на Win32 API;
Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
|
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога
Финальные проекты на Си и на C++:
finish-rectangles-sdl3-c. zip
finish-rectangles-sdl3-cpp. zip
|
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие.
Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
|
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ВВЕДЕНИЕ
Выполняя задание на управление насосной группой заполнения резервуара,. . .
|
|
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
|
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога
Финальные проекты на Си и на C++:
hello-sdl3-c. zip
hello-sdl3-cpp. zip
Результат:
|
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога
MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
|
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд.
Даже если у вас. . .
|