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

更新于: 19-Dec-2019

308 个观看次数

开启你的职业生涯

完成课程即可获得认证

开始
广告