Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

ค้นหาชุดบิตที่สำคัญที่สุดใน C++


ในที่นี้เราจะดูว่ามีการให้ตัวเลขหรือไม่ จากนั้นจะค้นหาค่าของค่า Most Significant Bit ที่ตั้งค่าไว้ได้อย่างไร ค่าคือกำลัง 2 ดังนั้นหากตัวเลขคือ 10 ค่า MSB จะเป็น 8

เราต้องหาตำแหน่งของ MSB แล้วหาค่าของตัวเลขที่มี set-bit ที่ตำแหน่ง 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