ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Четверг
25 апреля
855924 Топик полностью
fk0, легенда (14.07.2018 10:45, просмотров: 110) ответил mut на Почти дозрели до звания херохорвата, осталось только в финале выиграть.
Описано в "алгоритмических трюках для программистов" Уоррена (легко адаптируется к 16 или 8 битам, соответственно операций или строчек в 2 или в 4 раза меньше):  int reverse(int x, int bits) { x = ((x & 0x55555555) << 1) | ((x & 0xAAAAAAAA) >> 1); x = ((x & 0x33333333) << 2) | ((x & 0xCCCCCCCC) >> 2); x = ((x & 0x0F0F0F0F) << 4) | ((x & 0xF0F0F0F0) >> 4); x = ((x & 0x00FF00FF) << 8) | ((x & 0xFF00FF00) >> 8); x = ((x & 0x0000FFFF) << 16) | ((x & 0xFFFF0000) >> 16); return x >> (32 - bits); }
[ZX]