Could anyone tell me as to how to extract \'n\' specific bits from a 32-bit unsigned integer in C.
For example, say I want the first 17 bits of the 32-bit value;
Modulus works to get bottom bits (only), although I think value & 0x1ffff expresses "take the bottom 17 bits" more directly than value % 131072, and so is easier to understand as doing that.
The top 17 bits of a 32-bit unsigned value would be value & 0xffff8000 (if you want them still in their positions at the top), or value >> 15 if you want the top 17 bits of the value in the bottom 17 bits of the result.