Другое

Как правильно посчитать количество единичных битов числа

Lorem ipsum dolor

Как посчитать количество единичных битов числа? Самый простой метод решить этот вопрос — это воспользоваться онлайн-калькуляторами, которые способны конвертировать десятичное число в двоичное и посчитать в нем единичные биты. Такой способ подойдет, если необходимо посчитать количество единичных битов у нескольких чисел для каких-то собственных интересов. 

Подобная операция часто необходима в программировании, например, чтобы определить количество возникающих ошибок или найти способ, как ускорить программу, проверив ее двоичный код. В таком случае необходимо воспользоваться возможностями языка программирования и написать небольшую программу для поиска единичных битов.

Как посчитать количество единичных битов числа

Посчитать количество единичных битов числа можно разными способами и на разных языках программирования.

Как это делается на С/С++:

#include <iostream>

using namespace std;

 #include <string>

#include <bitset>

 int main ()

{

  bitset<16> byte (string("1010110001001010"));

 

  cout << "Количество битов в числе, содержащих единицы: " << byte.count() << endl;

  cout << "Количество битов в числе, содержащих нули: " << byte.size() - byte.count() << endl;

 return 0;

}

 

Результат выполнения такой программы будет следующий:

Количество битов в числе, содержащих единицу: 7

Количество битов в числе, содержащих нули: 9

Как можно посчитать количество единичных битов числа на Python при помощи функции bitLenCount():

 

 def bitLenCount(int_type):

      length = 0

      count = 0

      while (int_type):

          count += (int_type & 1)

          length += 1

          int_type >>= 1

      return(length, count)

 

Как можно посчитать единичные биты в Pascal:

 

program p;

var a, b : integer;

begin

  b := 0; 

  readln (a);

  b := b + a mod 2; 

  write (a mod 2); 

  a := a div 2; 

  b := b + a mod 2; 

  write (a mod 2); 

  a := a div 2; 

  b := b + a mod 2;

  write (a mod 2);

  b := b + a mod 2;

  writeln (a mod 2);

  writeln (b);

{в задаче можно посчитать любое число, если использовать условный оператор цикла}

  b := 0;

  readln (a);

  while a <> 0 do

  begin

    b := b + a mod 2;

    a := a div 2;

    end;

    writeln (b);

end.

 

Как посчитать количество единичных битов числа на Java:

 

public int bitCounter(int n) {

int counter = 0;

while (n != 0) {

    counter += n & 1;

    n = n >>> 1;

    }

    return counter;

}

 

Заключение

Посчитать количество единичных битов можно на разных языках программирования. Мы сегодня описали простые способы, которые применяются на самых популярных языках программирования.

Схожие статьи

Начинающий программист
Другое

Начинающий программист

Другое

Как отсортировать данные в таблице? Сортировка данных в диапазоне

Алгоритм Диффи-Хеллмана в С и Java: определение и как работает
Другое

Алгоритм Диффи-Хеллмана в С и Java: определение и как работает

Регрессионное тестирование — это что, где и зачем оно используется?
Другое

Регрессионное тестирование — это что, где и зачем оно используется?

×