Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

C++에서 숫자의 비트를 효율적으로 반전시키는 프로그램

<시간/>

이 튜토리얼에서는 숫자의 비트를 효율적으로 반전시키는 프로그램에 대해 논의할 것입니다.

이를 위해 음수가 아닌 숫자가 제공됩니다. 우리의 임무는 숫자를 이진 형식으로 변환하고 숫자의 이진 비트를 반전시키는 것입니다. 그런 다음 마지막으로 숫자에 해당하는 10진수를 인쇄합니다.

예시

#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