二进制中 1 的个数

/**
 * 本来想着java自带的有方法,尝试了下,并不能实现
 * 只能自己想法了
 * 既然是 1 的个数,那就要从二进制运算符入手
 * 首先判断最后一位是1、0
 * 然后将数据右移一位
 * 以此循环
 * 值得一提的是 >>> 无符号右移 >> 有符号右移
 */
private static int NumberOf1(int n) {
    int result = 0;
    for (int i = 0; i < 32; i++) {
        result += n & 1;
        n = n >>> 1;
    }
    return result;
}
原文地址:https://www.cnblogs.com/paper-man/p/13284600.html