美文网首页
剑指 Offer 15. 二进制中1的个数

剑指 Offer 15. 二进制中1的个数

作者: bangbang2 | 来源:发表于2020-08-15 10:13 被阅读0次
image.png
image.png

n&1如果为1,代表最右边数字为1,如果为0,代表最右边数字为0
Java中无符号右移,利用>>>
然后不断的把数字右移


image.png
很明显,+的优先级要高于&,所以要加一个(),否则得不出来结果
public class Solution {
    public int hammingWeight(int n) {
        int res = 0;
        while(n != 0) {
            res += n & 1;
            n >>>= 1;
        }
        return res;
    }
}

相关文章

网友评论

      本文标题:剑指 Offer 15. 二进制中1的个数

      本文链接:https://www.haomeiwen.com/subject/ipaldktx.html