Я увидел интересную технику, используемую в ответе на еще один вопрос, и хотел бы ее понять немного лучше.
Нам дано 64-битное целое без знака, и нас интересуют следующие биты:
1.......2.......3.......4.......5.......6.......7.......8.......
В частности, мы хотели бы переместить их в верхние восемь позиций, например:
12345678........................................................
Мы не заботимся о значении битов, обозначенных символом .
, и их не нужно сохранять.
Как общий метод? Может ли этот метод использоваться для извлечения любого подмножества бит? Если нет, то как выяснить, работает ли метод для определенного набора битов?
Наконец, как можно найти правильный (a?) правильный множитель для извлечения данных бит?