【java毎日1題】バイナリの1の個数
833 ワード
テーマ
一つの整数を入力して、この数のバイナリ表現の中の1の個数を出力します。負の数は補数で表します。
一つの整数を入力して、この数のバイナリ表現の中の1の個数を出力します。負の数は補数で表します。
public class Test09 {
public static void main(String[] args) {
int i = NumberOf1(50);
System.out.println(i);
}
public static int NumberOf1(int n) {
// 0,
if (0 == n) return 0;
if (n > 0) {
//
String s = Integer.toBinaryString(n);
//
char[] chars = s.toCharArray();
//
int count = 0;
// 49 ASCII
for (char ch : chars) {
if (49 == ch) {
count++;
}
}
return count;
} else {
// int 1 。
return Integer.bitCount(n);
}
}
}