Here we run a little simulation. We test 10 random integers. We call bitCount on them and also use toBinaryString.
import java.util.Random;
public class Program {
public static void main(String[] args) {
Random rand = new Random();
// Generate 10 tests.
for (int i = 0; i < 10; i++) {
// Get a random int.
int value = rand.nextInt(1000);
// Use bitCount and toBinaryString.
int count = Integer.bitCount(value);
String result = Integer.toBinaryString(value);
// Count 1 values in binary string.
int charCount = 0;
for (int z = 0; z < result.length(); z++) {
if (result.charAt(z) == '1') {
charCount++;
}
}
// Print results.
System.out.println(
":: TEST ::");
System.out.println(
"BitCount: " + count);
System.out.println(
"BinaryString: " + result);
System.out.println(
"CharCount: " + charCount);
}
}
}
:: TEST ::
BitCount: 4
BinaryString: 101011
CharCount: 4
:: TEST ::
BitCount: 4
BinaryString: 110110000
CharCount: 4
:: TEST ::
BitCount: 6
BinaryString: 1110011010
CharCount: 6
:: TEST ::
BitCount: 4
BinaryString: 1001100010
CharCount: 4
:: TEST ::
BitCount: 5
BinaryString: 1010111000
CharCount: 5
:: TEST ::
BitCount: 7
BinaryString: 1011110101
CharCount: 7
:: TEST ::
BitCount: 7
BinaryString: 111011101
CharCount: 7
:: TEST ::
BitCount: 4
BinaryString: 10011010
CharCount: 4
:: TEST ::
BitCount: 5
BinaryString: 101011010
CharCount: 5
:: TEST ::
BitCount: 4
BinaryString: 101000011
CharCount: 4