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

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

Отправлено Bill 27 июля 2004 г. 15:07
В ответ на: Алексей Мусин уже давал ссылку где это было. Вся соль как раз в строчке "This method is best suited to situations where N is large.", А у нас N=8 ... отправлено ShiphT 27 июля 2004 г. 14:55

Во-первых, для байта требуется лишь только три оператора.
Во-вторых, массивы не нужны.


v = ((v >> 1) & 0x55) | ((v << 1) & ~0x55); // swap odd and even bits
v = ((v >> 2) & 0x33) | ((v << 2) & ~0x33); // swap consecutive pairs
v = ((v >> 4) & 0x0F) | ((v << 4) & ~0x0F); // swap nibbles

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

Ответы



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

E-mail: info@telesys.ru