二进制&操作 num&1 === 1 代表最后一位为1 二进制右移 num>>1 function getCountOfOne(num){ let count = 0; while(num > 0){ if(num & 1 === 1){ count++ } num = num>>1 } return count } let str = '' while(str = readline()){ const num = parseInt(str); console.log(getCountOfOne(num)) }