Esta función de Node JS toma la entrada como complemento de 2 con signo y cualquier razón particular por la que devuelve un número incorrecto de bits Explanation: The input binary string 11111111111111111111111111111101 has a total of thirty one '1' bits.
Aquí está la función que debería devolver la output as 31 mientras que devuelve 1
var hammingWeight = function(n) { let count = 0; while (n !== 0) { n = n & (n - 1); count++; } return count; }; console.log(hammingWeight(11111111111111111111111111111101))Aquí está la salida de la consola
PS C:\VSB-PRO> node Fibo.js 1cualquier razón por la que podría haber salido mal en el código javascript, su ayuda es muy apreciada
Saludos,
Carolina
Cuando llama a hammingWeight(101) , no está usando la cadena binaria 101 2 (4+1 = 5), sino el número decimal 101 10 ( ciento uno ). Intente en su lugar hammingWeight(0b101) .