FireDynamics / FireDynamics/LectureComputerScience

Musterlösung für Zahlenumrechnung

Open
#41 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
Jupyter Notebook
Stars
3
Forks
8
PR merge metrics
No merged PRs in 30d

Description

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

Contributor guide

No contributing guide indexed for this repository

Research direction

Locate the script and existing Musterlösung referenced in the issue, then read how the number-conversion exercise is currently presented. Add the proposed worked example in a format supported by the notebook or its documentation, including both conversion methods and the 8-bit result. Done means a newcomer can follow the example without relying on color styling that GitHub Markdown hides.

Written by the indexing model from the issue text.

Assessment

Tech stack
jupyter-notebook
Domain
documentation
Issue type
Documentation
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.