Computer >> Máy Tính >  >> Lập trình >> C ++

Tìm tập bit quan trọng nhất của một số trong C ++

Ở đây chúng ta sẽ xem nếu một số được đưa ra, sau đó làm thế nào để tìm giá trị của giá trị Bit quan trọng nhất, được đặt. Giá trị là lũy thừa của 2. Vì vậy, nếu số là 10, giá trị MSB sẽ là 8.

Chúng ta phải tìm vị trí của MSB, sau đó tìm giá trị của số có bit set ở vị trí thứ k.

Ví dụ

#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);
}

Đầu ra

MSB bit value is: 128