Мне нужно было что-то, чтобы красиво распечатать вещи и разделить биты каждый n-бит.Другими словами, отобразить начальные нули и показать что-то вроде этого:
n = 5463
output = 0000 0000 0000 0000 0001 0101 0101 0111
Итак, вот что я написал:
/**
* Converts an integer to a 32-bit binary string
* @param number
* The number to convert
* @param groupSize
* The number of bits in a group
* @return
* The 32-bit long bit string
*/
public static String intToString(int number, int groupSize) {
StringBuilder result = new StringBuilder();
for(int i = 31; i >= 0 ; i--) {
int mask = 1 << i;
result.append((number & mask) != 0 ? "1" : "0");
if (i % groupSize == 0)
result.append(" ");
}
result.replace(result.length() - 1, result.length(), "");
return result.toString();
}
Вызовите это так:
public static void main(String[] args) {
System.out.println(intToString(5463, 4));
}