[NewCoder]求int型正整数在内存中存储时1的个数
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[NewCoder]求int型正整数在内存中存储时1的个数相关的知识,希望对你有一定的参考价值。
输入一个int型的正整数,计算出该int型数据在内存中存储时1的个数。
输入描述: 输入一个整数(int类型)
输出描述: 这个数转换成2进制后,输出1的个数 输入例子:5 输出例子:2
import java.util.*; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int num = 0; String s = Integer.toBinaryString(n); for(int i = 0; i < s.length(); i++) { if(s.charAt(i) == ‘1‘) num += 1; } System.out.println(num); } }
import java.util.*; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int count = 0; while(n != 0) { if(n % 2 == 1) count += 1; n /= 2; } System.out.println(count); } }
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int count = 0; while (n != 0) { // 数据n的二进制含有1的个数,可以通过n&(n-1)来循环计数判断。 n = n & (n-1); count ++; } System.out.println(count); } }
以上是关于[NewCoder]求int型正整数在内存中存储时1的个数的主要内容,如果未能解决你的问题,请参考以下文章
HJ15 求int型正整数在内存中存储时1的个数_Scala
HJ15 求int型正整数在内存中存储时1的个数_Scala