[c] How do I extract specific 'n' bits of a 32-bit unsigned integer in C?