How to extract specific bits from a number in C?

后端 未结 8 1335
遥遥无期
遥遥无期 2020-12-08 07:35

I need to extract specific part (no of bits) of a short data type in C.

For Example I have a binary of 52504 as 11001101000 11000 and I want First 6 (

8条回答
  •  一生所求
    2020-12-08 08:21

    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.

提交回复
热议问题