在这里,我们将查看是否给出了数字,然后如何找到已设置的最高有效位值。该值为2的幂。因此,如果数字为10,则MSB值为8。
我们必须找到MSB的位置,然后找到第k个位置带有置位的数字的值。
#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