题解 | #二进制中1的个数#
二进制中1的个数
https://www.nowcoder.com/practice/8ee967e43c2c4ec193b040ea7fbb10b8
package main /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param n int整型 * @return int整型 */ func NumberOf1( n int ) int { // write code here cnt := 0 // 第一位默认为 1 // 将 n 转换为 2 进制 if n < 0 { n &= 0x7fffffff cnt++ } // 从低位逐个与 1 相与,相与为 1,说明最低位为 1,统计结果 // 继续右移 for n != 0 { cnt += n & 1 n >>= 1 } return cnt }