输入一个 int 型的正整数,计算出该 int 型数据在内存中存储时 1 的个数。
数据范围:保证在 32 位整型数字范围内
const readline = require('readline'); const rl = readline.createInterface({ input: process.stdin, output: process.stdout }); rl.on('line', function (line) { let num = Number(line) let sum = 0 while (num > 0) { sum += num % 2 num = Math.floor(num / 2) } console.log(sum) });
const readline = require('readline'); const rl = readline.createInterface({ input: process.stdin, output: process.stdout }); rl.on('line', function (line) { if(typeof line== 'string'){ line=Number(line) } let str:string='' str=line.toString(2) //十进制转二进制用number.toString(2),二进制转十进制用parseInt(string,2),因为parseInt()解析一个字符串并返回指定基数的十制整数 let num:number=0 let arr:Array<string|number>=[] arr= str.split('') for(let i=0;i<arr.length;i++){ if(arr[i]==1){ num++ } } console.log(num) });