Das Dezimal- und das Binärsystem stellen dieselben Zahlen mit unterschiedlichen Ziffernvorräten dar. Das Dezimalsystem verwendet die zehn Ziffern 0 bis 9, das Binärsystem nur 0 und 1. Die Schreibweise ändert sich, die dargestellte Menge nicht: Dezimal 13 und Binär 1101 besitzen denselben Wert.

Das NIST definiert ein Bit als Binärziffer mit dem Wert 0 oder 1. Eine geordnete Bitfolge kann als vorzeichenlose Ganzzahl interpretiert werden, doch ihre Bedeutung hängt vom Kontext ab. Bei der Basisumrechnung geht es deshalb um das Stellenwertprinzip und nicht um das Auswendiglernen einer Tabelle.

Was bedeutet die Basis eines Zahlensystems?

Die Basis bestimmt die verfügbaren Ziffern und die Gewichte der Stellen. Im Dezimalsystem sind die Stellen Potenzen von 10: Einer, Zehner, Hunderter und so weiter. Im Binärsystem sind sie Potenzen von 2.

Von rechts nach links lauten die Gewichte:

2⁰ = 1, 2¹ = 2, 2² = 4, 2³ = 8, 2⁴ = 16, ...

Die rechte Ziffer ist das niederwertigste Bit, LSB; die linke ist das höchstwertige Bit, MSB. Auch das NIST-Glossar stellt Bitfolgen mit dem MSB links und dem LSB rechts dar.

Vollständiges Schema der Umrechnung zwischen Dezimal- und Binärzahlen Wiederholte Division durch 2 erzeugt die Binärziffern; in Gegenrichtung wird jede Ziffer mit ihrem Stellengewicht multipliziert.

Binär nach Dezimal: Stellengewichte addieren

Zur Umrechnung wird die rechte Position mit 0 nummeriert. Jede Ziffer wird mit der entsprechenden Zweierpotenz multipliziert; anschließend werden die Ergebnisse addiert.

Für 1001₂:

1 × 2³ + 0 × 2² + 0 × 2¹ + 1 × 2⁰

8 + 0 + 0 + 1 = 9

Also gilt 1001₂ = 9₁₀. Eine Null entfernt das Gewicht nicht, sondern trägt es lediglich nicht zur Summe bei. Die Stelle 2¹ ist 2 wert, doch mit Ziffer 0 ergibt sich 0 × 2 = 0.

Illustriertes Beispiel der Umrechnung von Binär 1001 in Dezimal 9 Jede 1 nimmt das Stellengewicht in die Summe auf; jede 0 lässt es unberücksichtigt.

Schnelles Verfahren von links nach rechts

Man kann auch von links nach rechts lesen, den bisherigen Wert jeweils verdoppeln und die nächste Ziffer addieren.

Für 1101₂:

  • mit 1 beginnen;
  • 1 × 2 + 1 = 3;
  • 3 × 2 + 0 = 6;
  • 6 × 2 + 1 = 13.

Das funktioniert, weil eine Verschiebung um eine Binärstelle nach links einer Multiplikation mit 2 entspricht.

Dezimal nach Binär: fortgesetzte Division durch 2

Eine positive Dezimalzahl wird wiederholt ganzzahlig durch 2 geteilt. Bei jedem Schritt werden Quotient und Rest notiert. Da der Divisor 2 ist, kann der Rest nur 0 oder 1 sein.

Umrechnung von 13:

  • 13 ÷ 2 = 6, Rest 1;
  • 6 ÷ 2 = 3, Rest 0;
  • 3 ÷ 2 = 1, Rest 1;
  • 1 ÷ 2 = 0, Rest 1.

Von unten nach oben gelesen ergeben die Reste 1101₂.

Warum werden die Reste von unten nach oben gelesen?

Das ist keine willkürliche Regel. Für jeden Schritt gilt:

n = 2 × Quotient + Rest

Der erste Rest entscheidet über die Binäreinheit 2⁰ und ist daher die rechte Ziffer. Die nächste Division liefert die Ziffer für 2¹, danach 2² und so weiter. Die Ziffern werden vom LSB zum MSB gefunden, geschrieben wird die Zahl jedoch vom MSB zum LSB. Deshalb muss die Reihenfolge umgekehrt werden.

Erklärung, warum die Reste der Divisionen durch 2 von unten nach oben gelesen werden Der erste Rest gehört zu 2⁰, der zweite zu 2¹: Zuerst werden die rechten Stellen gefunden.

Nachweis mit der Zahl 9

Die Divisionen liefern 1, 0, 0, 1. Diese Reste gehören nacheinander zu 2⁰, 2¹, 2² und 2³. In normaler Stellenfolge entsteht 1001₂.

Der Sonderfall Null

Bei einer Startzahl 0 wird eine übliche Divisionsschleife nicht ausgeführt. Die Binärdarstellung ist dennoch nicht leer, sondern 0. Ein Programm muss diesen Fall ausdrücklich behandeln oder mindestens eine Ziffer erzeugen.

Verändern führende Nullen den Wert?

Bei einer vorzeichenlosen Zahl nicht: 101, 0101 und 00000101 bedeuten alle 5. Bei fester Breite, etwa 8, 16 oder 32 Bit, zeigen die Nullen jedoch die reservierte Bitzahl.

Ein Byte ist eine Folge von acht Bits. Acht vorzeichenlose Bits reichen von 0 bis 255; der Höchstwert lautet 11111111₂.

Ist das linke Bit immer das Vorzeichen?

Nein. Ohne zusätzliche Angabe wird eine schulische Binärzahl normalerweise als vorzeichenlos gelesen. 1001₂ ist dann 9 und nicht -9; die erste 1 besitzt das Gewicht 2³.

Erst bei festgelegter Breite und ausdrücklich vorzeichenbehafteter Darstellung ändert sich die Interpretation. Moderne Rechner verwenden meist das Zweierkomplement. Bei vier Bits:

  • 0101₂ ist +5;
  • 1011₂ ist im Zweierkomplement -5.
Vergleich vorzeichenloser Binärzahlen mit vorzeichenbehafteten Zahlen im Zweierkomplement Das linke Bit zeigt nur dann einen negativen Wert an, wenn Format und Bitbreite bekannt sind.

Wichtige Präzisierung zum „Vorzeichenbit“

Das höchstwertige Bit wird beim Zweierkomplement oft vereinfachend Vorzeichenbit genannt. Es ist jedoch nicht bloß ein getrenntes Minuszeichen. In einem Wort mit n Bits besitzt es das negative Gewicht -2ⁿ⁻¹; die übrigen Stellen behalten positive Gewichte.

Auf vier Bits:

1011₂ = -8 + 0 + 2 + 1 = -5

Diese Deutung gilt nur für eine vorzeichenbehaftete Vier-Bit-Zahl im Zweierkomplement. Vorzeichenlos bedeutet dieselbe Folge 11. Die Bitfolge allein bestimmt ihre Interpretation nicht.

Darstellbare Wertebereiche

Mit n vorzeichenlosen Bits reicht der Bereich von 0 bis 2ⁿ - 1. Mit n Bits im Zweierkomplement reicht er von -2ⁿ⁻¹ bis 2ⁿ⁻¹ - 1.

  • 4 Bit unsigned: 0 bis 15;
  • 4 Bit signed im Zweierkomplement: -8 bis +7;
  • 8 Bit unsigned: 0 bis 255;
  • 8 Bit signed im Zweierkomplement: -128 bis +127.

Ergebnis mit Python prüfen

Das manuelle Verfahren erklärt den Mechanismus. Laut offizieller Python-Dokumentation erzeugt bin() eine Binärzeichenkette, während int(Text, 2) eine Zeichenkette zur Basis 2 interpretiert.

bin(13) # '0b1101' int("1101", 2) # 13

Das Präfix 0b kennzeichnet Binärnotation. Bei negativen Zahlen liefert bin(-5) jedoch -0b101, also eine Textdarstellung mit Minuszeichen und kein Zweierkomplementwort fester Breite.

Häufige Fehler

  • Mit Potenz 1 statt 0 beginnen: die rechte Stelle ist 2⁰.
  • Reste in Fundreihenfolge lesen: dadurch wird das Ergebnis gespiegelt.
  • Null vergessen: ihre Darstellung ist 0.
  • Dezimale Stellengewichte verwenden: binär gilt 1, 2, 4, 8, 16.
  • Jede führende 1 als negatives Vorzeichen lesen: dafür muss ein signed Format festgelegt sein.
  • Wert und Codierung verwechseln: dieselbe Folge kann unterschiedlich interpretiert werden.

Häufig gestellte Fragen

Warum teilen wir durch 2?

Weil die Zielbasis 2 ist. Die Division durch die Basis trennt Quotient und Einheiten der aktuellen Stelle.

Kann man nur mit Zweierpotenzen umrechnen?

Ja. Man zieht jeweils die größte passende Zweierpotenz ab und setzt an den benutzten Stellen eine 1. Die Division ist lediglich systematischer.

Wie prüfe ich das Ergebnis?

Durch Rückumrechnung und Addition der Stellengewichte. Ergibt sich die Ausgangszahl, ist das Ergebnis konsistent.

Funktioniert das auch für Bruchteile?

Der Ganzzahlteil wird durch 2 geteilt. Der Nachkommateil erfordert fortgesetzte Multiplikation mit 2 und ist ein eigenes Thema.

Offizielle Quellen und Vertiefungen