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

Chương trình đảo các bit của một số hiệu quả trong C ++

Trong hướng dẫn này, chúng ta sẽ thảo luận về một chương trình để đảo các bit của một số một cách hiệu quả.

Đối với điều này, chúng tôi sẽ được cung cấp với một số không âm. Nhiệm vụ của chúng ta là chuyển đổi số ở định dạng nhị phân, đảo các bit nhị phân của số. Và cuối cùng in ra số tương đương thập phân.

Ví dụ

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

Đầu ra

14