剑指 Offer 15. 二进制中1的个数 题目描述题意解析思路分析代码 题目描述 题意解析 给定一个无符号的整数,求此整数二进制表示中有多少个1。 思路分析 使用位运算操作,计算最右边的一位此时是否为1,然后进行无符号的右移运算,循环操作直至小于等于0。 代码 public class Solution { // you need to treat n as an unsigned value public int hammingWeight(int n) { int ans = 0; while(n != 0){ ans += (n&1); n >>>= 1; } return ans; } }