/** * @param {number} n - a positive integer * @return {number} */ const hammingWeight = (n) => { console.log(n) // console.log((n)) // console.log(n & 1) // console.log(n >> 1) // console.log(n) let count = 0; while (n) { // console.log("??") // console.log(n & 1) n &= (n - 1); count++; // n >>= 1; console.log("n") console.log(n) } console.log("count") console.log(count) return count; } hammingWeight(00000000000000000000000000000011) // 00000000000000000000000000000011 // 11 & 10 = 10 // +1 = 1 // 00000000000000000000000000000010 // 10 & 01 = 0 // +1 = 2 // 00000000000000000000000000000000 // - // hammingWeight(00000000000000000000000000001011) // hammingWeight(00000000000000000000000000001011) // hammingWeight(11111111111111111111111111111101) // hammingWeight(11111111111111111111111111111101) // hammingWeight(parseInt("11111111111111111111111111111101", 2));