Skip to content

Musterlösung für Zahlenumrechnung #41

@m-fehr

Description

@m-fehr

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions