package jianzhioffer;
import java.util.Scanner;
/**
* 输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。
*
*/
public class Solution10 {
/* public static int NumberOf1(int n) {
return Integer.toBinaryString(n).replaceAll("0"," ").length();
}*/
public static int NumberOf1(int n) {
return Integer.bitCount(n);
}
/*public static int NumberOf1(int n ){
int count = 0;
int tmp = Math.abs(n);
while(tmp != 0){
++count;
tmp = tmp &(tmp-1);
}
return count;
}*/
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
System.out.println(n + "的二进制表示中1的个数:"+NumberOf1(n));
}
}
剑指offer题十
最新推荐文章于 2024-03-19 10:30:28 发布