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

C++で数値の最上位セットビットを検索します


ここでは、数値が指定されているかどうか、次に設定されている最上位ビット値の値を見つける方法を確認します。値は2の累乗です。したがって、数値が10の場合、MSB値は8になります。

MSBの位置を見つけてから、k番目の位置にビットを設定して数値の値を見つける必要があります。

#include<iostream>
#include<cmath>
using namespace std;
int msbBitValue(int n) {
   int k = (int)(log2(n));
   return (int)(pow(2, k));
}
int main() {
   int n = 150;
   cout << "MSB bit value is: "<< msbBitValue(n);
}

出力

MSB bit value is: 128

  1. C++の配列で最小値の頻度を見つける

    ここでは、配列内の最小要素の頻度を見つける方法を説明します。配列要素が[5、3、6、9、3、7、5、8、3、12、3、10]であると仮定します。ここで、最小要素は3であり、この要素の頻度は4です。したがって出力は4です。 。 これを解決するために、リストの最小の要素を見つけ、最初の数字の出現を数え、それが結果になります。 例 #include<iostream> using namespace std;    int min_element(int arr[], int n){    int min = arr[0];   &nb

  2. C++で有理数のLCMを見つける

    ここでは、有理数のLCMを見つける方法を説明します。有理数のリストがあります。リストが{2/7、3 / 14、5 / 3}のようであるとすると、LCMは30/1になります。 この問題を解決するには、すべての分子のLCMを計算し、次にすべての分母のgcdを計算し、次に有理数のLCMを計算する必要があります- $$ LCM =\ frac {LCM \:of \:all \:𝑛𝑢𝑚𝑒𝑟𝑎𝑡𝑜𝑟𝑠} {GCD \:of \:all \:𝑑𝑒𝑛𝑜𝑚𝑖𝑖 例 #include <iostream> #include <vector> #inc