Учитывая смещение OFF и длину LEN, выделите группу битов и сдвиньте ее вправо. (Использование: int, содержащее несколько целых чисел меньшего диапазона с заданными смещениями и длинами). Например, используя смещение 4 и длину 4,
a = 110101011000
----^^^^---- this is the group
000000000101
^^^^ isolated and right-shifted here
Я сейчас использую
(a>>OFF)&((1<<(LEN+1))-1)
дает для примера выше
a 110101011000
a>>OFF 000011010101
1<<(LEN+1) 000000010000
1<<(LEN+1)-1 000000001111
(a>>OFF)&((1<<(LEN+1))-1) 000000000101
Есть ли более читаемый / эффективный способ?