Musterlösung für Zahlenumrechnung

Offen
#41 1 Kommentar 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
2/5
Geschätzter Aufwand
1-3 Stunden
Anfängerfreundlichkeit
45/100
Issue-Typ
Dokumentation
Klarheit
Größtenteils klar
Aktivitätsstatus
Veraltet
Tech-Stack
jupyter-notebook
Bereich
documentation

Rechercherichtung

Finde das im Issue referenzierte Skript und die bestehende Musterlösung und lies anschließend nach, wie die Aufgabe zur Zahlensystemumwandlung derzeit präsentiert wird. Füge das vorgeschlagene ausgearbeitete Beispiel in einem vom Notebook oder seiner Dokumentation unterstützten Format hinzu, einschließlich beider Umwandlungsmethoden und des 8-Bit-Ergebnisses. Als erledigt gilt die Aufgabe, wenn ein Neuling dem Beispiel folgen kann, ohne auf eine von GitHub Markdown ausgeblendete Farbgestaltung angewiesen zu sein.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

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

Vorherrschende Sprache
Jupyter Notebook
Sterne
3
Forks
8
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus FireDynamics/LectureComputerScience

Alle Issues in FireDynamics/LectureComputerScience

Ähnliche Issues

Weitere Issues zu Documentation

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.