Мы знаем, что компьютеры представляют числа в своей памяти в двоичной системе. В этой несложной задаче мы напишем программу, которая подсчитывает количество ненулевых бит в заданном числе.
Мы используем 32-битовые
целые числа, поэтому количество ненулевых бит может быть от 0
до 32
.
Заметим, что в отличие от многих языков Python оперирует числами бесконечной разрядности (это не помешает решить данную задачу, однако некоторые способы пригодные для других языков могут работать некорректно).
Например:
число двоичное кол-во
1 00000000000000000000000000000001 1
100 00000000000000000000000001100100 3
-1 11111111111111111111111111111111 32
Входные данные указывают количество чисел для обработки в первой строке.
Остальные строки содержат сами числа, в диапазоне -2 000 000 000
.. 2 000 000 000
.
Ответ должен содержать количество бит установленных в 1
для каждого из заданных чисел.
Пример:
входные данные:
3
1 100 -1
ответ:
1 3 32