Извлечение n наиболее значимых ненулевых битов из int в C ++ без циклов

Я хочу извлечь n наиболее значимых бит из целого числа в C ++ и преобразовать эти n битов в целое число.

Например

int a=1200;
// its binary representation within 32 bit word-size is
// 00000000000000000000010010110000

Теперь я хочу извлечь 4 наиболее значимые цифры из этого представления, то есть 1111

00000000000000000000010010110000
                     ^^^^

и преобразовать их снова в целое число (1001 в десятичной = 9).

Как это возможно с простой функцией C ++ без циклов?

Ответы на вопрос(3)

Ваш ответ на вопрос