Может ли кто-нибудь сказать мне, как извлечь "n" конкретные биты из 32-разрядного целого числа без знака в C.
Например, скажем, мне нужны первые 17 бит 32-битного значения; что я должен делать?
Я предполагаю, что я должен использовать оператор модуля, и я попробовал его и смог получить последние 8 бит и последние 16 бит как
unsigned last8bitsvalue=(32 bit integer) % 16
unsigned last16bitsvalue=(32 bit integer) % 32
Это правильно? Есть ли лучший и эффективный способ сделать это?