여기서 숫자가 주어지면 설정되어 있는 Most Significant Bit 값을 찾는 방법을 알아보겠습니다. 값은 2의 거듭제곱입니다. 따라서 숫자가 10이면 MSB 값은 8이 됩니다.
MSB의 위치를 찾은 다음 k번째 위치에서 set-bit로 숫자의 값을 찾아야 합니다.
예시
#include<iostream> #include<cmath> using namespace std; int msbBitValue(int n) { int k = (int)(log2(n)); return (int)(pow(2, k)); } int main() { int n = 150; cout << "MSB bit value is: "<< msbBitValue(n); }
출력
MSB bit value is: 128