Integer.toBinaryString(n)获得输入整数的二进制数,然后再用String类中的charAt(int i)方法依次取二进制字符串中每个字符与1进行比较,通过累加得到1的个数 第二种:核心(n & (1 << i)) == (1 << i) 例:9的二进制为1001. 1001 & 1(1<<0) == 1(1<<0) 1001 & 10(1<<1...
方法/步骤 1 实现二进制字符串统计法图示,通过 Integer 提供的 toBinaryString 方法,将数字转换为字符串,然后遍历字符串的的每一个字符,统计计算。2 编写并运行测试方法,测试基于字符串的统计算法图示,调用算法获取数字 -3 和 1024 的汉明重量,并输出到控制台。3 实现位运算算法图示,通过和1相“与”的位...
第一种:使用n&(n-1)表示来计算有多少个1 intn=127;intcount=0;while(n!=0){ count++; n=n&(n-1); } 第二种:使用移位操作 Integerinput=in.nextInt();intcount=0;for(inti=0;i<30;i++){inttmp=(input >> i)&0x00000001;if(tmp==1){ count++; } } System.out.println(count);...
packagecom.zhenzicen;/*** 面试题:给定一个int 数字,要求计算出int数字对应的二进制中1的个数*/publicclassTest2 {publicstaticvoidmain(String[] args) {intnum = 90; System.out.println(newTest2().count(num)); }publicintcount(intnum){intsum = 0;while(num > 0){if(num % 2 != 0) { su...
762. 二进制表示中质数个计算置位 给定两个整数 L 和 R ,找到闭区间 [L, R] 范围内,计算置位位数为质数的整数个数。 (注意,计算置位代表二进制表示中1的个数。例如 21 的二进制表示 10101 有 3 个计算置位。还有,1 不是质数。) 示例1: