#include <stdio.h>
int GetMsbPos(unsigned int num) {
int pos = 0;
while (num) {
pos++;
num = num >> 1;
}
return pos - 1;
}
int main()
{
unsigned int num = 127; // 01111111
printf("Position of MSB bit of %d is: %d\n", num, GetMsbPos(num));
num = 3; // 0011
printf("Position of MSB bit of %d is: %d\n", num, GetMsbPos(num));
return 0;
}
/*
run:
Position of MSB bit of 127 is: 6
Position of MSB bit of 3 is: 1
*/