Разработка, производство и продажа радиоэлектронной аппаратуры
|
Требуется программист в Зеленограде - обработка данных с датчиков; ColdFire; 40 тыс.
e-mail: jobsmp@pochta.ru
|
Спасибо!!! Ещё ВОПРОС - как заполнить байт, начиная со старшего разряда к младшему?
Отправлено
yurishok (62.44.127.184) 08 мая 2015, г. 13:30
В ответ на:
Ответ: отправлено
vitalyn 08 мая 2015, г. 12:28
Как заполнить байт, начиная со старшего разряда к младшему?
Вызываю функцию GetBit она возвращает 1 бит:
bit GetBit(unsigned char *src, unsigned int addr)
Функция GetBit работает правильно и возращает бит из буфера *src по адресу addr. В ней проблемы нет.
Вопрос как заполнить байт, начиная со старшего разряда к младшему?
Нашёл такой алгоритм
Byte = 0;
for (i=0x80; i>0; i/=2) Byte |= i*GetBit(buf,addr);
В Byte должен получиться байт, заполненный битами от старшего разряда к младшему.
Не нравится, что есть операции деления и умножения.
Для 8 разрядного МК сильно круто. Можно ли без них, есть ли способ проще?
Составить ответ | Вернуться на конференцию
Ответы