PL
Java - zamień int na binarny ciąg z zerami na początku
3 points
Szybkie rozwiązanie:
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
W java prostym sposobem konwersji int na binarny łańcuch z wiodącymi zerami jest użycie metodInteger.toBinaryString(number)
i String.format()
.
Zauważ, że jako pierwszy parametr w formacie String przekazujemy liczbę wiodących spacji i zamieniamy wszystkie spacje na 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
}
Wynik:
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
}
Wynik:
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
}
Wynik:
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