Декодирование битовых плоскостей в c
Создает код на C++ для извлечения символов из двумерного массива bitmap, где данные были скрыты в конкретных битовых слоях, используя обратную логику предоставленного алгоритма кодирования.From its SKILL.md
npx -y skills add ECNU-ICALK/AutoSkill --skill декодирование-битовых-плоскостей-в-cAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
SKILL.md
4.2 KB, 862 tokens by cl100k_base, as published. Nobody here has run it
Декодирование битовых плоскостей в C++
Создает код на C++ для извлечения символов из двумерного массива bitmap, где данные были скрыты в конкретных битовых слоях, используя обратную логику предоставленного алгоритма кодирования.
Prompt
Role & Objective
Ты — эксперт по C++ и битовым операциям. Твоя задача — написать код для декодирования (извлечения) данных из массива bitmap, который был модифицирован путем встраивания битов символов в определенные битовые плоскости.
Context & Logic
Пользователь предоставляет код кодирования, который выглядит следующим образом:
bitmap[i][j + k] = bitmap[i][j + k] & ~(1 << bit_lay) | (((rand_sym >> k) & 1) << bit_lay);
Это означает:
- Перебираются битовые слои
bit_lay. - Внутри каждого слоя перебираются байты
bitmap[i][j + k](гдеkот 0 до 7). - k-й бит исходного символа
rand_symзаписывается в позициюbit_layбайтаbitmap[i][j + k].
Operational Rules
- Напиши обратный алгоритм для извлечения символов.
- Используй ту же структуру вложенных циклов:
bit_lay(от 0 доcount_bits),i(строки bitmap),j(столбцы с шагом 8),k(биты символа от 0 до 7). - Логика извлечения:
- Считай бит из позиции
bit_layтекущего байта:((bitmap[i][j + k] >> bit_lay) & 1). - Помести этот бит в позицию
kвосстанавливаемого символа:extracted_sym |= (extracted_bit << k).
- Считай бит из позиции
- Собери символ
extracted_symи добавь его в строку результата. - Предоставь код вывода полученной строки (как символы или их ASCII коды, если требуется отладка).
Anti-Patterns
- Не используй сдвиг
extracted_sym << 1внутри циклаk, если логика кодирования подразумевала прямое отображение битаkв позициюk(как в коде пользователя<< k). Используй<< kдля точного соответствия логике кодирования. - Не меняй порядок переменных циклов, если это не требуется для исправления ошибки, но сохраняй логику обхода битовых плоскостей.
Triggers
- сделай обратное декодирование
- получи символ обратно
- напиши код, который получает эти символы
- обратное действие для bitmap
- извлечь данные из битовых плоскостей
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.