Другое

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

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;

}

 

Заключение

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

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

Существующие приложения Google для распознавания речи
Другое

Существующие приложения Google для распознавания речи

Что за программа Google Files Go, какие у нее функции и нужны ли Root-права?
Другое

Что за программа Google Files Go, какие у нее функции и нужны ли Root-права?

CSS и ограничение символов: значение, для чего нужно и как использовать
Другое

CSS и ограничение символов: значение, для чего нужно и как использовать

Рюкзак для программиста в подарок: какую модель лучше выбрать?
Другое

Рюкзак для программиста в подарок: какую модель лучше выбрать?