剑指Offer-二进制中1的个数

二进制中1的个数

题目

输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。

思路

int类型的数字32位,故判断每一位是否是1就好了。

代码

public class solution{

    public int NumberOf1(int n){
        int result = 0;
        for(int i=0;i<32;i++){
            result +=(n&1);
            n>>1;
        }
        return result;
    }
}
0%