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

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

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

import java.util.Scanner;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        //10进制转2进制  Integer.toBinaryString()
        //10进制转8进制  Integer.toOctalString()
        //10进制转16进制  Integer.toHexString()
        //10进制转任意进制  Integer.toString(n,3)
	  
	    //2进制转10进制   Integer.parseInt(binaryString, 2)
	    //8进制转10进制   Integer.parseInt(octalString, 8)
	    //16进制转10进制   Integer.parseInt(hexString, 16)
	  
        Scanner sc = new Scanner(System.in);
        //求解2进制中1的个数
        //先把输入转换为二进制,将2进制中所有1转为空,用原数减去替换后的数字,值则为1的数量
        int n = sc.nextInt();
        String str = Integer.toString(n,2);
        String newStr = str.replaceAll("1","");
        System.out.println(str.length() - newStr.length());
    }
}

全部评论

相关推荐

LZHR:老哥你从投递简历测评完到一面中间隔了多久呀,我这边已经过了五天了仍显示简历筛选中是不是就是挂了
腾讯求职进展汇总
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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