Da weder im Script noch in der Musterlösung klar erklärt ist, wie die Umrechnung funktioniert, sollte eine Musterlösung vorhanden sein. Diese könnte folgendermaßen aussehen (leider werden in Github-Markdown die Farben ausgeblendet):
Musterlösung:
11110 -> ?2
| Division durch 2 |
Quotient |
Rest |
#Bit |
| 111/2 |
55 |
1 |
0 |
| 55/2 |
27 |
1 |
1 |
| 27/2 |
13 |
1 |
2 |
| 13/2 |
6 |
1 |
3 |
| 6/2 |
3 |
0 |
4 |
| 3/2 |
1 |
1 |
5 |
| 1/2 |
0 |
1 |
6 |
Jetzt muss man nur noch die vorletzte Spalte "Rest" von unten nach oben notieren
=> 11011112
Da wir eine 8-Bit Zahl benötigen müssen wir die Zahl jetzt vorne noch mit 0 auffüllen, bis wir 8 Zeichen haben.
=> 011011112
Alternativ:
11110 -> ?2
Alternativ kann man auch mit folgender Methode die Zahl umwandeln:
| #Bit |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
| 2#Bit |
128 |
64 |
32 |
16 |
8 |
4 |
2 |
1 |
| Endergebnis |
|
|
|
|
|
|
|
|
Ist 111 >= 128? Nein also tragen wir an dieser Stelle eine 0 ein:
| #Bit |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
| 2#Bit |
128 |
64 |
32 |
16 |
8 |
4 |
2 |
1 |
| Endergebnis |
0 |
|
|
|
|
|
|
|
Jetzt zur nächsten Spalte:
Ist 111 >= 64? Ja also tragen wir an dieser Stelle eine 1 ein:
| #Bit |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
| 2#Bit |
128 |
64 |
32 |
16 |
8 |
4 |
2 |
1 |
| Endergebnis |
0 |
1 |
|
|
|
|
|
|
Da das Ergebnis 1 war, müssen wir von 111 64 abziehen => 111-64= 47
Jetzt zur nächsten Spalte:
Ist 47 >= 32? Ja also tragen wir an dieser Stelle eine 1 ein:
| #Bit |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
| 2#Bit |
128 |
64 |
32 |
16 |
8 |
4 |
2 |
1 |
| Endergebnis |
0 |
1 |
1 |
|
|
|
|
|
Wieder berechnen wir die Differenz => 47-32= 15
Jetzt zur nächsten Spalte:
Ist 15 >= 16? Nein also tragen wir an dieser Stelle eine 0 ein:
| #Bit |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
| 2#Bit |
128 |
64 |
32 |
16 |
8 |
4 |
2 |
1 |
| Endergebnis |
0 |
1 |
1 |
0 |
|
|
|
|
Da keine 1 eingetragen wurde müssen wir keine Differenz berechnen.
Jetzt zur nächsten Spalte:
Ist 15 >= 8? Ja also tragen wir an dieser Stelle eine 1 ein:
| #Bit |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
| 2#Bit |
128 |
64 |
32 |
16 |
8 |
4 |
2 |
1 |
| Endergebnis |
0 |
1 |
1 |
0 |
1 |
|
|
|
Wieder berechnen wir die Differenz => 15-8= 7
Jetzt zur nächsten Spalte:
Ist 8 >= 4? Ja also tragen wir an dieser Stelle eine 1 ein:
| #Bit |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
| 2#Bit |
128 |
64 |
32 |
16 |
8 |
4 |
2 |
1 |
| Endergebnis |
0 |
1 |
1 |
0 |
1 |
1 |
|
|
Wieder berechnen wir die Differenz => 8-4= 3
Jetzt zur nächsten Spalte:
Ist 3 >= 2? Ja also tragen wir an dieser Stelle eine 1 ein:
| #Bit |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
| 2#Bit |
128 |
64 |
32 |
16 |
8 |
4 |
2 |
1 |
| Endergebnis |
0 |
1 |
1 |
0 |
1 |
1 |
1 |
|
Wieder berechnen wir die Differenz => 3-2= 1
Jetzt zur nächsten Spalte:
Ist 1 >= 1? Ja also tragen wir an dieser Stelle eine 1 ein:
| #Bit |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
| 2#Bit |
128 |
64 |
32 |
16 |
8 |
4 |
2 |
1 |
| Endergebnis |
0 |
1 |
1 |
0 |
1 |
1 |
1 |
1 |
Wieder berechnen wir die Differenz => 3-2= 1
Damit erhalten wir ebenfalls:
=> 011011112
Da weder im Script noch in der Musterlösung klar erklärt ist, wie die Umrechnung funktioniert, sollte eine Musterlösung vorhanden sein. Diese könnte folgendermaßen aussehen (leider werden in Github-Markdown die Farben ausgeblendet):
Musterlösung:
11110 -> ?2
Jetzt muss man nur noch die vorletzte Spalte "Rest" von unten nach oben notieren
=> 11011112
Da wir eine 8-Bit Zahl benötigen müssen wir die Zahl jetzt vorne noch mit 0 auffüllen, bis wir 8 Zeichen haben.
=> 011011112
Alternativ:
11110 -> ?2
Alternativ kann man auch mit folgender Methode die Zahl umwandeln:
Ist 111 >= 128? Nein also tragen wir an dieser Stelle eine 0 ein:
Jetzt zur nächsten Spalte:
Ist 111 >= 64? Ja also tragen wir an dieser Stelle eine 1 ein:
Da das Ergebnis 1 war, müssen wir von 111 64 abziehen => 111-64= 47
Jetzt zur nächsten Spalte:
Ist 47 >= 32? Ja also tragen wir an dieser Stelle eine 1 ein:
Wieder berechnen wir die Differenz => 47-32= 15
Jetzt zur nächsten Spalte:
Ist 15 >= 16? Nein also tragen wir an dieser Stelle eine 0 ein:
Da keine 1 eingetragen wurde müssen wir keine Differenz berechnen.
Jetzt zur nächsten Spalte:
Ist 15 >= 8? Ja also tragen wir an dieser Stelle eine 1 ein:
Wieder berechnen wir die Differenz => 15-8= 7
Jetzt zur nächsten Spalte:
Ist 8 >= 4? Ja also tragen wir an dieser Stelle eine 1 ein:
Wieder berechnen wir die Differenz => 8-4= 3
Jetzt zur nächsten Spalte:
Ist 3 >= 2? Ja also tragen wir an dieser Stelle eine 1 ein:
Wieder berechnen wir die Differenz => 3-2= 1
Jetzt zur nächsten Spalte:
Ist 1 >= 1? Ja also tragen wir an dieser Stelle eine 1 ein:
Wieder berechnen wir die Differenz => 3-2= 1
Damit erhalten wir ebenfalls:
=> 011011112