题目描述
输入一个int型的正整数,计算出该int型数据在内存中存储时1的个数。
输入描述:
输入一个整数(int类型)
输出描述:
这个数转换成2进制后,输出1的个数
输入 5
输出 2
思路:
这道题本身很简单,就是要注意,我们不仅需要写一个函数,而是要从控制台读取用户的输入,并在控制台输出结果。
函数本身很简单,不断将num对2取模运算,并将num除2(用右移运算最好)
const ones = function (num) {
let count = 0
while (num !== 0) {
count += num % 2
num >>= 1 // 右移一位,
}
return count
}
num = parseInt(readline().trim()) // readline() , 从控制台读取数据
console.log(ones(num))