Извлечение 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 ++ без циклов?