Другое

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

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;

}

 

Заключение

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

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

Простой скрипт сокращения ссылок на языке программирования PHP
Другое

Простой скрипт сокращения ссылок на языке программирования PHP

На каком языке программирования и каким образом пишут ботов
Другое

На каком языке программирования и каким образом пишут ботов

DIY проекты или
Другое

DIY проекты или "сделай сам" на Arduino: самые интересные проекты

Серверы в аренду как бизнес: с чего следует начать и какой доход
Другое

Серверы в аренду как бизнес: с чего следует начать и какой доход

×