PL
Java - zamień int na binarny ciąg z zerami na początku
3
points
Szybkie rozwiązanie:
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
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.
1. Wydrukuj int i binarną reprezentację liczby
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);
}
}
Wynik:
int | binary
8 - 00001000
2. Wypisz int i binarną reprezentację między 0 a 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);
}
}
}
Wynik:
int | binary
0 - 00000000
1 - 00000001
2 - 00000010
3 - 00000011
4 - 00000100
5 - 00000101
6 - 00000110
7 - 00000111
8 - 00001000
3. Wypisz int i binarną reprezentację między 0 a 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);
}
}
}
Wynik:
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