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

โปรแกรม C++ กลับบิตของตัวเลขอย่างมีประสิทธิภาพ


ในบทช่วยสอนนี้ เราจะพูดถึงโปรแกรมที่กลับบิตของตัวเลขอย่างมีประสิทธิภาพ

สำหรับสิ่งนี้ เราจะได้รับตัวเลขที่ไม่เป็นลบ งานของเราคือแปลงตัวเลขเป็นรูปแบบไบนารี กลับบิตไบนารีของตัวเลข และสุดท้ายพิมพ์ค่าเทียบเท่าทศนิยมของตัวเลข

ตัวอย่างโค้ด C++

#include <bits/stdc++.h>
using namespace std;

// inverting bits of number
int invert_bit(int n){
    int x = log2(n);
    int m = 1 << x;
    m = m | m - 1;
    n = n ^ m;
    return n;
}

int main(){
    int n = 17;
    cout << invert_bit(n) << endl;
    return 0;
}

ผลลัพธ์

14