Problem4607--二进制中1的个数

4607: 二进制中1的个数

[Creator : ]
Time Limit : 1.000 sec  Memory Limit : 256 MiB

Description

输入一个 $32$ 位整数,输出该数二进制表示中 $1$ 的个数。
注意:
  • 负数在计算机中用其绝对值的补码来表示。

Input

一个 $32$ 位整数 $n$。

Output

$1$ 的个数。

Sample 1 Input

9

Sample 1 Output

2
$9$ 的二进制表示是 $1001$,一共有 $2$ 个 $1$。

Sample 2 Input

-2

Sample 2 Output

31
$-2$ 在计算机里会被表示成 $11111111111111111111111111111110$,一共有 $31$ 个 $1$。

Source/Category

算法竞赛进阶 9.1.位运算