从其他搜索中,我发现这个问题被称为“汉明重量”或“种群计数”。有很多答案给出了许多统计数据,但我需要以简单的方式找到解决方案。复杂性并不是一个大问题。在JavaScript中是否有像Java的Integer.bitCount一样的内置函数?
我目前的做法如下。
var binary = 3;
var original = binary;
var count = 0;
while(binary>0)
{
binary = binary >> 1 << 1;
if(original-binary==1)
count++;
original = binary >> 1;
binary = original;
}
有没有更好的、更简单、更优雅的方法来实现这个功能?
str.split('1').length
,但那根本不是JavaScript,而是Java。 - adeneonumb.toString().split('1').length
,哒哒! - adeneo