如何使用php或javascript编写函数来确定16位整数的总体数?

dev*_*one 1 javascript php ajax

如何编写一个函数来确定使用php或javascript的16位整数的总体数.种群计数定义为"打开"的位数,或者在其他情况下,它是数字的二进制表示中的1的数量.例如,二进制数0b0000的总体数为0,因为没有任何1位.0b0101的人口数为2,因为2位开启; 0b1110的人口数为3. 0b1111111111111111具有16的人口数,因为有16个1位.您的函数应接受INTEGER参数并返回包含其人口计数的INTEGER.例:

f(0)= 0

f(1)= 1

f(2)= 1

f(3)= 2

f(4)= 1

f(5)= 2

小智 6

使用按位和右移

function count(n){
  c =0;
  while(n){
    c += n&1;
    n = n>>1;
  }
  return c;
}
Run Code Online (Sandbox Code Playgroud)