2490. 齐夏的二进制破译

1000ms 256MB 简单 位运算
题目描述
齐夏在生肖“地鼠”的房间里发现了一个神秘的数字 $N$。地鼠告诉齐夏,这个数字中隐藏着通往下一关的线索,线索的数量等同于该数字在二进制表示下 **数字 1 的个数**。 请你编写一个程序,利用位运算的技巧,帮齐夏快速计算出这个数字的二进制表示中共有多少个 1。
输入格式
- 一个正整数 $N$ ($1 \le N \le 10^9$)。
输出格式
- 一个整数,表示 $N$ 的二进制中 1 的个数。
样例 1
输入 (Input)

                    
输出 (Output)

                    
样例说明
$7$ 的二进制表示为 `111`,其中共有 3 个 1。
尝试使用 n & (n - 1) 的技巧:该操作可以瞬间消去二进制中最右侧的一个 1。
自测终端 stdin → stdout
› 输入 stdin
CtrlShiftEnter
‹ 输出 stdout

                
错误 stderr

                
CtrlEnter提交
自动保存已开启
操作成功
wzs_oj@kernel:~ — wzs-sh
guest@wzsoj:~$
刷新页面 F5
复制 Ctrl+C
粘贴 Ctrl+V
搜索题目
训练中心
站点公告
今日神谕
CSP 倒计时
排行榜
我的提交
Esc 关闭 Enter 跳转 支持模糊匹配数字