题解 | #求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);
        }
    }
}

全部评论

相关推荐

10-25 12:05
已编辑
湖南科技大学 Java
若梦难了:我有你这简历,已经大厂乱杀了
点赞 评论 收藏
分享
hso_:哈哈哈哈哈哈我没offer一样在同一道题开喷了
投递深圳同为数码等公司10个岗位
点赞 评论 收藏
分享
3 4 评论
分享
牛客网
牛客企业服务