I need to extract specific part (no of bits) of a short data type in C.
short
For Example I have a binary of 52504 as 11001101000 11000 and I want First 6 (
unsigned short extract(unsigned short value, int begin, int end) { unsigned short mask = (1 << (end - begin)) - 1; return (value >> begin) & mask; }
Note that [begin, end) is a half open interval.
[begin, end)