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
广告