если более понятно написать, то мне нужно
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено xfg 05 мая 2004 г. 22:26
В ответ на: посмотрел, union вроде для других целей используется, для объединения различных переменных, мне совсем не это нужно отправлено xfg 05 мая 2004 г. 22:11

аналог такой операции: r2=(r1&0xFF0000)>>16; которая выполняется значительно быстрее, например для первого байта работает такая операция r2=*&r1; (за одну инструкцию на асме).

А мне нужно "вытащить" третий байт:

unsigned long r1;
unsigned char r2;

r1=(30L<<16)|(123L<<8)|127L;
......
r2=*(&r1-2); // это некорректно работает (она вычитает не 2, а 4*2=8 вероятно из-за типа long для r1)


Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru