首页 > 代码库 > [NewCoder]求int型正整数在内存中存储时1的个数
[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的个数
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。