一、题目描述
输入一个 int 型的正整数,计算出该 int 型数据在内存中存储时 1 的个数。
数据范围:保证在 32 位整型数字范围内
二、输入描述
输入一个整数(int类型)
三、输出描述
这个数转换成2进制后,输出1的个数
四、解题思路
- 从输入中读取一个整数num;
- 初始化计数变量n为0;
- 使用循环从二进制表示的最低位开始判断每一位:
- 如果num的末位是1,表示当前位为1,将计数变量n加1;
- 将num向右进行无符号右移操作(>>>),将下一位移动到末位;
- 继续下一轮循环,直到判断完所有位
- 输出计数变量n作为结果,即二进制表示中1的个数。
五、Java算法源码
public static void main