c / c ++ сток растровое изображение с использованием шестнадцатеричных букв и конвертировать обратно

0

У меня есть растровое изображение, заполненное как массив unsigned char, содержащий только 1 и 0; как это:

0 0 0 0 1 1 1 1
0 0 1 1 0 0 1 1

Я хочу записать это в компактном виде, поэтому я написал функцию для преобразования этого в шестнадцатеричные. Я сделаю это:

0f33

Мой вопрос сейчас: с какой функцией я могу преобразовать эти символы в мой растровый рисунок? когда у меня есть указатель на символ "f", как я могу преобразовать его в целочисленное значение 15? (Я знаю, что коммутатор делал бы трюк, но, вероятно, есть лучший способ?)

  • 0
    проверьте эти функции для печати двоичного файла из переменных: stackoverflow.com/questions/111928/…
  • 0
    Вы бы предпочли, чтобы ответ был на C или C++ ?
Показать ещё 3 комментария
Теги:
hex
bitmap

1 ответ

1
Лучший ответ

Попробуйте это для C++:

int number;
std::stringsteam ss;
ss << std::hex << *characterPointer;
ss >> number;

Для C:

char hexstr[2] = {*characterPointer, '\0'};
int number = (int)strtol(hexstr, NULL, 16);
  • 0
    strtoll прочитает всю строку в одно длинное число. Я просто хочу, чтобы он читал по одному символу за раз и преобразовывал его в соответствующий int ...
  • 0
    моя матрица довольно большая, поэтому я переполнюсь, если попытаюсь прочитать все сразу ... и мне все равно придется конвертировать обратно в мой массив символов ...
Показать ещё 4 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню