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

全部评论

相关推荐

码农索隆:以下是我以我微薄的认知提供的建议: 1.考个教师资格证,去当体育考试。 2.去健身房当健身教练(因为在我印象里面体育生身材都不错)。
点赞 评论 收藏
分享
2025-12-15 17:56
商洛学院 运维工程师
点赞 评论 收藏
分享
评论
3
4
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务