Musterlösung für Zahlenumrechnung

Aperta
#41 1 commento 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
2/5
Tempo stimato
1-3 ore
Idoneità per principianti
45/100
Tipo di issue
Documentazione
Chiarezza
Abbastanza chiara
Stato di attività
Ferma
Stack tecnologico
jupyter-notebook
Ambito
documentation

Direzione di ricerca

Individua lo script e la Musterlösung esistente a cui si fa riferimento nell’issue, quindi leggi come viene attualmente presentato l’esercizio di conversione dei numeri. Aggiungi l’esempio svolto proposto in un formato supportato dal notebook o dalla relativa documentazione, includendo entrambi i metodi di conversione e il risultato a 8 bit. Il lavoro è completato quando una persona alle prime armi può seguire l’esempio senza dover fare affidamento su uno stile a colori nascosto da GitHub Markdown.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

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

Lingua principale
Jupyter Notebook
Stelle
3
Fork
8
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di FireDynamics/LectureComputerScience

Tutte le issue di FireDynamics/LectureComputerScience

Issue simili

Altre issue su Documentation

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.