Мы знаем, что компьютеры представляют числа в своей памяти в двоичной системе. В этой несложной задаче мы напишем программу, которая подсчитывает количество ненулевых бит в заданном числе.
Мы используем 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