题解 | #查找输入整数二进制中1的个数#

查找输入整数二进制中1的个数

https://www.nowcoder.com/practice/1b46eb4cf3fa49b9965ac3c2c1caf5ad

与运算时,n=(1,2,4,8)时,这些数与任何数进行计算时,只要最高位是1。计算后得到的值即为n。根据这个特性可以直接把所有符合条件的查出来。

import java.util.Scanner;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        // 注意 hasNext 和 hasNextLine 的区别
        while (in.hasNextInt()) { // 注意 while 处理多个 case
            int a = in.nextInt();
            
            // 比较的值
            int count=0;
            for (int i=0;i<=31;i++) {
                int pow=(int)Math.pow(2,i);
                // 进行与运算,如果相等,表示a的当前位置等于1
                if ((a & pow)==pow) {
                    count++;
                }
            }
            System.out.println(count);
        }
    }
}

全部评论

相关推荐

风中翠竹:真的真的真的没有kpi。。。面试官是没有任何kpi的,捞是真的想试试看这个行不行,碰碰运气,或者是面试官比较闲现在,没事捞个人看看。kpi算HR那边,但是只有你入职了,kpi才作数,面试是没有的。
双非有机会进大厂吗
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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