C ++
 Computer >> コンピューター >  >> プログラミング >> C ++

C++で効率的に数値のビットを反転するプログラム


このチュートリアルでは、数値のビットを効率的に反転するプログラムについて説明します。

このために、非負の数が与えられます。私たちのタスクは、数値を2進形式に変換し、数値の2進ビットを反転することです。そして最後に、数値に相当する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

  1. 数値の累乗を計算するC++プログラム

    数値の累乗はx^yとして計算できます。ここで、xは数値、yはその累乗です。 たとえば。 Let’s say, x = 2 and y = 10    x^y =1024    Here, x^y is 2^10 数値の累乗は、再帰的および非再帰的プログラムを使用して計算できます。これらのそれぞれは次のように与えられます。 非再帰的プログラムを使用した数の力 非再帰的プログラムを使用して数の累乗を見つけるプログラムは次のように与えられます- 例 #include<iostream> using namespace std;

  2. 数値を逆にするC++プログラム

    数字を逆にするということは、その数字を逆の順序で保存することを意味します。 例:番号が6529の場合、9256が出力に表示されます。 数を逆にするプログラムは次のように与えられます- 例 #include <iostream> using namespace std; int main() {    int num = 63972, rev = 0;    while(num > 0) {       rev = rev*10 + num%10;       num = n