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 }