LU01f - Zahlensysteme umrechnen

Im Alltag sind wir uns gewohnt, Zahlen im Dezimalsystem (Basis 10) darzustellen. Die Informatik basiert aber auf dem Binärsystem (Basis 2). Deshalb werden auch Dateien und Programmvariablen binär gespeichert. Um diese Informationen zu verstehen, müssen Sie die Zahlen zwischen den verschiedenen Zahlensystemen umrechnen.

Um Missverständnisse zu vermeiden, geben wir bei den Zahlen jeweils das Zahlensystem an. Dazu notieren wir die Basis tiefgestellt neben die Zahl:

  • Dezimalsystem: 15310
  • Binärsystem: 1010 11002
  • Oktalsystem: 2438
  • Hexadezimalsystem: 1A16

Ebenfalls gebräuchlich ist der Buchstabe b für das Binärsystem bzw. x für das Hexadezimalsystem:

  • '1010 1100'b
  • '1A'x

Um eine Dezimalzahl in ein anderes Zahlensystem umzurechnen, führen wir eine Reihe von Divisionen durch.

Dezimalzahl
-----------  = Ergebnis  und  Rest
   Basis
  • Notieren Sie den Rest als Resultat (von rechts nach links).
  • Anschliessend wiederholen Sie die Division mit dem Ergebnis, bis das Ergebnis 0 ist.

Beispiel

Rechnen Sie die Dezimalzahl 253 ins 7er-System um:

25310 = ???7

Schritt Division Ergebnis Rest Resultat
1 253 / 7 36 1 __17
2 36 / 7 5 1 _117
3 5 / 7 0 5 5117

Wie im Beispiel führen wir eine Reihe von Divisionen durch, um die Dezimalzahl ins Binärsystem zu übertragen. Da das Binärsystem nur zwei Ziffern kennt, wird das Resultat viele Stellen enthalten.

Anzahl Stellen abschätzen

Schätzen Sie zunächst ab, wie viele binäre Stellen das Resultat enthalten wird. Dabei gilt die Faustregel: 3 dezimale Stellen entsprechen ungefähr 10 binäre Stellen.

                 Dezimalstellen * 10
binäre Stellen = -------------------
                         3

Notation in 4er Gruppen

Binäre Zahlen werden einfacher lesbar, wenn Sie die Ziffern in 4er Gruppen (von rechts nach links) anordnen. Die vorderste Gruppe füllen wir mit führenden Nullen auf, bis auch diese aus 4 binären Ziffern besteht.

0010 1010 1111 0001

Beispiel

2475310 = ????2

  • Die Dezimalzahl hat 5 Stellen; Die binäre Zahl wird maximal 17 Stellen haben (5 / 3 * 10)
24753 / 2 = 12376  Rest 1
12376 / 2 =  6188  Rest 0
 6188 / 2 =  3094  Rest 0
 3094 / 2 =  1547  Rest 0

 1547 / 2 =   773  Rest 1
  773 / 2 =   386  Rest 1
  386 / 2 =   193  Rest 0
  193 / 2 =    96  Rest 1
  
   96 / 2 =    48  Rest 0
   48 / 2 =    24  Rest 0
   24 / 2 =    12  Rest 0
   12 / 2 =     6  Rest 0
   
    6 / 2 =     3  Rest 0
    3 / 2 =     1  Rest 1
    1 / 2 =     0  Rest 1
    

Resultat: 2475310 = 0110 0000 1011 00012

Binäre Zahlen lassen sich relativ einfach ins 8er (Oktal) und 16er (Hexadezimal) System umrechnen. Das liegt daran, dass 8 und 16 Potenzen von 2 sind:

  • 23 = 8
  • 24 = 16

Deshalb werden binäre Werte häufig als oktale oder hexadezimale Zahlen dargestellt.

Die Umrechnung ins 10er System ist hingegen schwieriger, da 10 keine Potenz von 2 ist.

Eine Ziffer im 8er-System entspricht drei Ziffern im 2er-System: 81 = 23

Binäre Zahl ins oktale System übertragen

  1. Zerlegen Sie die binäre Zahl von rechts nach links in Gruppen von 3 Ziffern.
  2. Übertragen Sie jede dieser 3er Gruppen ins oktale System.
Binär Oktal Binär Oktal
000 0 / 100 4
001 1 / 101 5
010 2 / 110 6
011 3 / 111 7
Beispiel

0110 0000 1011 00012 = ??? 8

1. 3er Gruppen bilden:             0 110 000 010 110 001
2. Vorderste Gruppe ergänzen:    000 110 000 010 110 001
3. Übertragen ins oktale System:  0   6   0   2   6   1

Resultat: 0110 0000 1011 00012 = 602618

Oktale Zahl ins Binärsystem übertragen

Diese Umwandlung ist ebenso einfach:

  1. Wandeln Sie einfach jede oktale Ziffer in die drei entsprechenden binären Ziffern um.
    • Dabei ist es egal, ob Sie von rechts nach links oder von links nach rechts vorgehen.
  2. Notieren Sie die binären Ziffern in 4er Gruppen von rechts nach links.
    • Ergänzen Sie bei Bedarf die vorderste 4er Gruppe mit führenden Nullen.
Beispiel

5738 = ???2

1. Umwandeln:          5 => 101
                       7 => 111
                       3 => 011
                       
2. 4er Gruppen bilden: 0001 0111 1011

Resultat: 5738 = 0001 0111 10112

Eine Ziffer im 16er-System entspricht vier Ziffern im 2er-System: 161 = 24

Binäre Zahl ins hexadezimale System übertragen

  1. Zerlegen Sie die binäre Zahl von rechts nach links in Gruppen von 4 Ziffern.
    • Ergänzen Sie bei Bedarf die vorderste 4er Gruppe mit führenden Nullen.
  2. Übertragen Sie jede dieser 4er Gruppen ins hexadezimale System.
Binär Hex Binär Hex
0000 0 1000 8
0001 1 1001 9
0010 2 1010 A
0011 3 1011 B
0100 4 1100 C
0101 5 1101 D
0110 6 1110 E
0111 7 1111 F

Beispiel

0110 0000 1011 00012 = ??? 16

1. 4er Gruppen bilden:                 0110 0000 1011 0001
2. Übertragen ins hexadezimale System:   6    0    B    1

Resultat: 0110 0000 1011 00012 = 60B116

Hexadezimale Zahl ins binäre System übertragen

Wie Sie wohl bereits vermutet haben, drehen wir den Prozess einfach um:

  1. Wandeln Sie jede hexadezimale Ziffer in die entsprechenden vier binären Ziffern um.
Beispiel

1A5C16 = ????2

1 = 0001
A = 1010
5 = 0101
C = 1100

Resultat: 1A5C16 = 0001 1010 0101 11002

Potenzen

Die offensichtliche Methode zur Umrechnung ins Dezimalsystem basiert auf dem Wert der einzelnen binären Ziffern. Von rechts nach links verdoppelt sich der Wert der einzelnen Ziffern.

  1. Schreibe die binären Ziffern von oben nach unten.
  2. Schreibe von unten nach oben den Wert der Zahl.
  3. Multipliziere jede Ziffer mit ihrem Wert.
  4. Addiere alle Werte.
Beispiel

1001 01012 = ???10

Ziffer Wert Produkt
1 128 128
0 64 0
0 32 0
1 16 16
0 8 0
1 4 4
0 2 0
1 1 1
Summe 149

Resultat: 1001 01012 = 14910

Verdoppelungsmethode

Bei der Verdoppelungsmethode verwenden wir nur eine Addition und die Multiplikation mit 2. Daher wird es wesentlich einfacher binäre Zahlen im Kopf umzurechnen.

Für jede binäre Stelle führen wir von links nach rechts zwei Rechnungen durch:

  1. Multipliziere das bisherige Resultat mit 2
  2. Addiere die binäre Stelle zum Resultat

Beispiel

1001 01012 = ???10

Binäre Ziffer Berechnung Resultat
Start 0
1001 0101 0*2 + 1 1
1001 0101 1*2 + 0 2
1001 0101 2*2 + 0 4
1001 0101 4*2 + 1 9
1001 0101 9*2 + 0 18
1001 0101 18*2 + 1 37
1001 0101 37*2 + 0 74
1001 0101 74*2 + 1 149

Resultat: 1001 01012 = 14910

Mit dieser Methode lassen sich auch andere Zahlensysteme ins Dezimalsystem übertragen. Um eine Zahl im 16er System (Hexadezimal) ins Dezimalsystem zu übertragen, wird einfach das bisherige Resultat mit 16 multipliziert.


Marcel Suter

  • modul/m114/learningunits/lu01/umrechnentheorie.txt
  • Zuletzt geändert: 2024/03/28 14:07
  • von 127.0.0.1