EN
Java - convert int to binary String with leading zeros
13
points
Short solution:
int number = 8;
String binaryString = Integer.toBinaryString(number);
String withLeadingZeros = String.format("%8s", binaryString).replace(' ', '0');
System.out.println(binaryString); // 1000
System.out.println(withLeadingZeros); // 00001000
In java simples way to convert int to binary String with leading zeros is to use Integer.toBinaryString(number)
and String.format()
method. Note that as first param in String format we pass number of leading spaces and we replace all spaces with 0.
1. Print int and binary representation of a number
public class Example1 {
public static void main(String[] args) {
System.out.println("int | binary");
int number = 8;
String binary = Integer.toBinaryString(number);
String padding = String.format("%8s", binary).replace(' ', '0');
String intPadding = String.format("%3s", number);
System.out.println(intPadding + " - " + padding);
}
}
Output:
int | binary
8 - 00001000
2. Print int and binary representation between 0 and 8
public class Example2 {
public static void main(String[] args) {
System.out.println("int | binary");
for (int i = 0; i <= 8; i++) {
String binary = Integer.toBinaryString(i);
String padding = String.format("%8s", binary).replace(' ', '0');
String intPadding = String.format("%3s", i);
System.out.println(intPadding + " - " + padding);
}
}
}
Output:
int | binary
0 - 00000000
1 - 00000001
2 - 00000010
3 - 00000011
4 - 00000100
5 - 00000101
6 - 00000110
7 - 00000111
8 - 00001000
3. Print int and binary representation between 0 and 255 - ASCII
public class Example3 {
public static void main(String[] args) {
for (int i = 0; i <= 255; i++) {
String binary = Integer.toBinaryString(i);
String padding = String.format("%8s", binary).replace(' ', '0');
String intPadding = String.format("%3s", i);
System.out.println(intPadding + " - " + padding);
}
}
}
Output:
0 - 00000000
1 - 00000001
2 - 00000010
3 - 00000011
4 - 00000100
5 - 00000101
6 - 00000110
7 - 00000111
8 - 00001000
...
252 - 11111100
253 - 11111101
254 - 11111110
255 - 11111111