« »

Basisumrechnung

a)

Level 2: Verstehen

Formulieren Sie einen Algorithmus, um eine beliebige Zahl vom Dezimalsystem (Basis 10) in das Binärsystem (Basis 2) umzuwandeln. Wählen Sie hierfür alltagssprachliche Anweisungen, denen Schüler:innen der Oberstufe folgen können sollte.

Lösung

Ein möglicher Algorithmus kann folgendermaßen lauten:

Eingabe: X (die Zahl, die umgewandelt wird)
Ausgabe: B (die Binärzahl zu X)

Setze zuerst alle Ziffern von B auf 0.
SOLANGE X größer als 0 ist:
    Finde Y: die größte Zweierpotenz, die kleiner oder gleich X ist.
    Setze die Ziffer in unserer Binärzahl, die Y entspricht, auf 1.
    Ziehe Y von X ab.
ENDE

b)

Level 4: Analysieren

Folgende Rechnung wandelt die Zahl 38.835$_{10}$ vom Dezimalsystem ins Hexadezimalsystem um:

38.835 / 16 = 2427 Rest  3
 2.427 / 16 =  151 Rest 11
   151 / 16 =    9 Rest  7
     9 / 16 =    0 Rest  9

Beschreiben Sie in eigenen Worten, was hier geschieht und was das Ergebnis der Rechnung ist.

Lösung

Bei dieser Vorgehensweise teilen wir wiederholt durch die Basis $B = 16$. Wir betrachten dabei die Stellen des Ergebnisses von der am wenigsten bedeutsamen (in unserer Zahlendarstellung rechts) zur bedeutsamsten (in unserer Zahlendarstellung links):

[ B^(n) | B^(n-1) | … | B^(1) | B^(0) ] 
(n = Anzahl der Stellen unserer Binärzahldarstellung)

Die erste Zeile berechnet die am wenigsten bedeutsame Stelle, ein Vielfaches von $B^0=1$. Indem wir 38.835 durch $B = 16$ teilen, erfahren wir, dass die 16 2.427-mal enthalten ist mit einem Rest von 3. Diese 3 ist der Wert unserer Stelle: $3 \cdot 16^0 = 3$. Diese Ziffer können wir mit den größeren Potenzen nicht darstellen, darum muss sie zwingend an dieser Stelle kommen.

38.835 / 16 = 2427 Rest 3

Gehen wir eine Stelle nach links, müssen wir nun die verbleibenden 2.427 durch 16 teilen. Weil wir schon einmal durch 16 geteilt haben, ist die Vorgehensweise wieder so, als behandelten wir die am wenigsten bedeutsame Stelle. Wir teilen erneut durch 16 und erhalten 151 mit Rest 11. Daraus lernen wir, dass wir 11 an unserer aktuellen Stelle speichern müssen. Auf die gesamte Zahl zählt sie mit $11 \cdot 16^1$ ein.

 2.427 / 16 =  151 Rest 11

Analog verfahren wir mit den verbleibenden Stellen, bis das Ergebnis 0 ist:

   151 / 16 =    9 Rest  7
     9 / 16 =    0 Rest  9

Aus der fertigen Rechnung müssen wir nur noch unser Endergebnis ablesen. Dies geschieht von “unten nach oben”, da wir ja mit der am wenigsten relevanten Stelle begonnen haben. Außerdem müssen wir beachten, dass die Zahl 11 im Hexadezimalsystem als B dargestellt wird:

38.835 / 16 = 2427 Rest  3 → 3
 2.427 / 16 =  151 Rest 11 → B
   151 / 16 =    9 Rest  7 → 7
     9 / 16 =    0 Rest  9 → 9

Das Ergebnis ist 97B3$_{16}$.

c)

Level 3: Anwenden

Übertragen Sie die Vorgehensweise auf die Zahl 1.653$_{10}$, die Sie im Oktalsystem (Basis 8) darstellen.

Lösung

Die Rechnung sieht folgendermaßen aus:

1.653 / 8 = 206 Rest 5 → 5
  206 / 8 =  25 Rest 6 → 6
   25 / 8 =   3 Rest 1 → 1
    3 / 8 =   0 Rest 3 → 3

Ergebnis: 3.165$_8$

Lernziele

In dieser Aufgabe …

  • konkretisieren die Studierenden ihr Wissen zum Aufbau von Binärzahlen.
  • üben die Studierenden das algorithmische Denken.
  • übertragen die Studierenden Ihre Kenntnisse zu Stellenwertsystemen auf das Oktalsystem.