EN
Java - convert int to binary String with leading zeros
13 points
Short solution:
xxxxxxxxxx
1
int number = 8;
2
3
String binaryString = Integer.toBinaryString(number);
4
String withLeadingZeros = String.format("%8s", binaryString).replace(' ', '0');
5
6
System.out.println(binaryString); // 1000
7
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.
xxxxxxxxxx
1
public class Example1 {
2
3
public static void main(String[] args) {
4
5
System.out.println("int | binary");
6
7
int number = 8;
8
9
String binary = Integer.toBinaryString(number);
10
String padding = String.format("%8s", binary).replace(' ', '0');
11
String intPadding = String.format("%3s", number);
12
13
System.out.println(intPadding + " - " + padding);
14
}
15
}
Output:
xxxxxxxxxx
1
int | binary
2
8 - 00001000
xxxxxxxxxx
1
public class Example2 {
2
3
public static void main(String[] args) {
4
5
System.out.println("int | binary");
6
7
for (int i = 0; i <= 8; i++) {
8
9
String binary = Integer.toBinaryString(i);
10
String padding = String.format("%8s", binary).replace(' ', '0');
11
String intPadding = String.format("%3s", i);
12
13
System.out.println(intPadding + " - " + padding);
14
}
15
}
16
}
Output:
xxxxxxxxxx
1
int | binary
2
0 - 00000000
3
1 - 00000001
4
2 - 00000010
5
3 - 00000011
6
4 - 00000100
7
5 - 00000101
8
6 - 00000110
9
7 - 00000111
10
8 - 00001000
xxxxxxxxxx
1
public class Example3 {
2
3
public static void main(String[] args) {
4
5
for (int i = 0; i <= 255; i++) {
6
7
String binary = Integer.toBinaryString(i);
8
String padding = String.format("%8s", binary).replace(' ', '0');
9
String intPadding = String.format("%3s", i);
10
11
System.out.println(intPadding + " - " + padding);
12
}
13
}
14
}
Output:
xxxxxxxxxx
1
0 - 00000000
2
1 - 00000001
3
2 - 00000010
4
3 - 00000011
5
4 - 00000100
6
5 - 00000101
7
6 - 00000110
8
7 - 00000111
9
8 - 00001000
10
11
...
12
13
252 - 11111100
14
253 - 11111101
15
254 - 11111110
16
255 - 11111111