Бит взлома и операции по модулю

Читая это:http://graphics.stanford.edu/~seander/bithacks.html#ReverseByteWith64BitsDiv

Я пришел к фразе:

Последний шаг, который включает в себя деление модуля на 2 ^ 10 - 1, приводит к объединению каждого набора из 10 битов (с позиций 0-9, 10-19, 20-29, ...) в 64-битном значение.

(речь идет об обращении битов в числе) ...

поэтому я сделал несколько расчетов:

reverted = (input * 0x0202020202ULL & 0x010884422010ULL) % 1023;

b = 74          :                                 01001010
b 
 * 0x0202020202 :       1000000010000000100000001000000010
   = 9494949494 :01001010010010100100101001001010010010100
  & 10884422010 :10000100010000100010000100010000000010000 
    = 84000010  :         10000100000000000000000000010000
  % 1023        :                               1111111111
    = 82        :                                 01010010

Теперь единственная неясная часть - это та часть, где большое число по модулю 1023 (2 ^ 10 - 1) упаковывает и дает мне инвертированные биты ... Я не нашел хорошего документа о взаимосвязи между битовыми операциями и Операция по модулю (рядомx % 2^n == x & (2^n - 1))) так что, возможно, если бы кто-то пролил свет на это, это было бы очень плодотворно.

Ответы на вопрос(1)

Ваш ответ на вопрос