求int型正整数在内存中存储时1的个数

var num = readline();
let str = parseInt(num,10).toString(2) + '';
str = [...str]
let count = 0
str.forEach(e=> e == '1' ? count++ : '')
console.log(count)

1.js可以很简单的做任意进制的转化,核心函数是全局函数parseInt(str,radix)与Number.toString(radix);

2.parseInt(str,radix); 将字符串str按照radix进制编码方式转换为10进制返回,没有radix,默认为10; 此方法把任意进制字符串转为10进展返回。

- parseInt(num,8);   //八进制转十进制 
- parseInt(num,16);   //十六进制转十进制 
- parseInt(num).toString(8)  //十进制转八进制 
- parseInt(num).toString(16)   //十进制转十六进制 
- parseInt(num,2).toString(8)   //二进制转八进制 
- parseInt(num,2).toString(16)  //二进制转十六进制 
- parseInt(num,8).toString(2)   //八进制转二