ในที่นี้เราจะดูว่ามีการให้ตัวเลขหรือไม่ จากนั้นจะค้นหาค่าของค่า 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