题解 | #求int型正整数在内存中存储时1的个数#

求int型正整数在内存中存储时1的个数

http://www.nowcoder.com/practice/440f16e490a0404786865e99c6ad91c9

采用消除低位1的方法,位运算 x & (x- 1) 消除低位的1

package 牛客网.华为机试;

import java.util.Scanner;

public class IntOneCount {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int num = sc.nextInt();
        if (num == 0) System.out.println(0);
        else {
            int res = 0;
            while(num != 0){
                num = num & num - 1;
                res ++;
            }

            System.out.println(res);
        }
    }
}

全部评论

相关推荐

废铁汽车人:秋招真是牛鬼蛇神齐聚一堂
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
3
4
分享
牛客网
牛客企业服务