Некоторые математические методы, которые используются для подсчёта количества единиц в двоичном числе:
- Использование бинарной операции «И». 1 Пока число не равно нулю, нужно выполнить операцию «n &= n - 1» и увеличить счётчик единиц на единицу. 1 Например, если в числе есть одна единица (0b00100000), то после вычитания 1 (0b00011111) и применения операции «И» (0b00100000 & 0b00011111) число станет равным 0 (0b00000000). 1
- Алгоритмическое разделение строки. 2 Двоичную строку нужно разделить на «1». 2 Затем подсчитать количество единиц (count) как размер вектора, содержащего разбиение, минус 1. 2
- Использование таблицы просмотра. 1 В ней индексы — это числа от 0 до 255, а значение — количество единиц в числе. 1 Такой метод не подходит для чисел, которые занимают более одного байта. 1