Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: перевод массива 0 и 1 в HEX
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > MCS51, AVR, PIC, STM8, 8bit
Vny4ek
Здрастье, ребят помогите плиз, всю голову сломал уже.
задача такая есть у меня масив int Buf[63] в нем лежат либо 0 либо 1 (почему int не спрашивайте, не получается у меня ему bit почему то тип объявить)
мне нужно взять по порядку четыре значения Buf[0] Buf[1] Buf[2] Buf[3] и представить не в виде 1010 а в виде 16 ричного числа.
тоесть мне хочется представить все 64 нуля и еденичек в 16 символов шестнадцатиричных для вывода в UART или дисплей.
XVR
Код
char a=buf[0]|(buf[1]<<1)|(buf[2]<<2)|(buf[3]<<3);
if (a<=9) a+='0';
else a+='A'-10;
в a твой символ

PS. Если появляются массивы типа твоего buf, то это явный признак того, что програмист не в курсе того, как в процессоре представленны числа wink.gif
DpInRock
unsigned char a=(buf[0]<<3)+(buf[1]<<2)+(buf[2]<<1)+buf[3];
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.