在一行上输入一个整数
,代表给定的数字。
在一行上输出一个整数,代表
的二进制表示中
的个数。
10
2
十进制
到
的二进制表示如下:
十进制
等于二进制
;
十进制
等于二进制
;
十进制
等于二进制
;
十进制
等于二进制
;
十进制
等于二进制
;
十进制
等于二进制
;
十进制
等于二进制
;
十进制
等于二进制
;
十进制
等于二进制
;
十进制
等于二进制
。
0
0
const readline = require('readline');
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout
});
rl.on('line', function (line) {
//转成二进制
const tokens = parseInt(line).toString(2);
//转成数组
var list = tokens.split('');
//循环找出1的个数
var index = 0;
list.forEach(item=>{
if(item=='1'){
index = index+1;
}
})
//输出
console.log(index);
}); const readline = require('readline')
var rl = readline.createInterface({
input:process.stdin,
output:process.stdout
})
rl.on('line',(line)=>{
var num = 0
var index = -2
var str = Number(line).toString(2)
while(index != -1){
index = str.indexOf('1',index +1)
if(index<0){
}else{
num++
}
}
console.log(num)
}) let num = readline();
let temp = 0;
while(num){
if(num%2 !== 0){
temp++;
}
num = num >> 1;
}
print(temp); num = parseInt(readline().trim()); // readline() , 从控制台读取数据
function transForm(num) {
var num2 = num.toString(2).split("");
var count = 0;
for (var i = 0; i < num2.length; i++) {
if (num2[i] === "1") {
count++;
}
}
return count;
}
console.log(transForm(num)); 解法二:位运算 var num = parseInt(readline().trim()); // readline() , 从控制台读取数据
var count2 = 0;
while (num != 0) {
num = num & (num - 1);
count2++;
}
console.log(count2); let bin = Number(readline()).toString(2)
let n = 0
for(let char of bin){
char === '1' && n++
}
console.log(n) let n = Number(readline());
let count = 0;
while (n > 0) {
if ((n & 1) > 0) {
count++;
}
n = n >> 1;
}
console.log(count);