Я пытаюсь извлечь некоторые цветовые коды из буфера изображения. Когда я считываю адрес памяти из буфера, он возвращает значение int, которое содержит цветовые коды двух пикселей. Моя цель - получить каждый цветовой код в виде отдельного значения int.
Например, когда я считываю адрес памяти из буфера изображения, он возвращает десятичное значение: 142149753.
Поскольку это десятичное значение длиной 9 символов, я не могу просто разбить его на два значения типа int. Поэтому я попытался преобразовать значение в шестнадцатеричное с помощью функции printf, которая дала мне значение: 08790879.
Теперь я вижу два нужных мне 16-битных цветовых кода: 0879 и 0879.
int firstColorCode;
int secondColorCode;
int colorcodes = IORD_ALTERA_AVALON_PIO_DATA(0x08000000 + 123204);
printf("%08x\n", colorcodes);
Как я могу получить два цветовых кода в соответствующие переменные int в коде?
Отказ от ответственности: я новичок в C, и мне кажется, что я задаю глупый вопрос: /