Warum binär, oktal und hexadezimal

Eine Basis ist nichts anderes als die Anzahl verfügbarer Ziffern, bevor man zur nächsten Stelle wechseln muss. Im Zehnersystem sind es zehn, im Zweiersystem nur null und eins, im Sechzehnersystem braucht es sechzehn, und für die letzten sechs werden die Buchstaben A bis F verwendet. Der Wert einer Zahl ändert sich mit der Basis nicht: es ändert sich nur, wie man sie schreibt.

Das Binärsystem gibt es, weil eine Schaltung zwei Zustände zuverlässig unterscheidet und zehn nicht. Das Hexadezimalsystem gibt es, weil Binär für Menschen unlesbar ist: jede Hexadezimalziffer entspricht genau vier Bit, die Umrechnung zwischen beiden ist also eine direkte Ersetzung Gruppe für Gruppe, ohne Rechnen. Dasselbe gilt fürs Oktalsystem, wo eine Ziffer drei Bit sind.

Das Zweierkomplement ist die Art, wie Rechner negative Zahlen darstellen, und seine Eleganz liegt darin, dass die Addition ohne besondere Vorzeichenregeln funktioniert. Eine negative Zahl entsteht, indem man alle Bits des Betrags invertiert und eins addiert: in acht Bit wird aus −5 die Folge 11111011. Daraus folgt, dass der Bereich nicht symmetrisch ist, weil die Null einen Platz in der positiven Hälfte belegt: mit n Bit reicht er von −2ⁿ⁻¹ bis 2ⁿ⁻¹−1.

Häufige Fehler

  • Das Vorzeichenbit mit einem Minuszeichen verwechseln: im Zweierkomplement ist das höchstwertige Bit −2ⁿ⁻¹ wert, nicht „minus". Deshalb ist 10000000 in acht Bit gleich −128 und nicht −0.
  • Vergessen, dass der positive Bereich um eins kürzer ist: in acht Bit mit Vorzeichen reicht er bis 127, nicht bis 128. Das verursacht die meisten Überläufe in Aufgaben.
  • Hexadezimal wie Dezimal lesen: 10 hexadezimal ist 16, nicht zehn. Wo der Zusammenhang unklar ist, lohnen sich die Präfixe 0x und 0b.

Häufige Fragen

Wie rechnet man eine Binärzahl ins Dezimalsystem um?

Man multipliziert jede Ziffer mit der zu ihrer Stelle gehörenden Zweierpotenz, von rechts bei null beginnend, und addiert die Ergebnisse. 10110110 ist 128+32+16+4+2 = 182.

Wie rechnet man vom Dezimal- ins Binärsystem um?

Man teilt wiederholt durch zwei und notiert die Reste, dann liest man die Reste vom letzten zum ersten. Alternativ zieht man Zweierpotenzen ab, beginnend mit der größten, die hineinpasst.

Wie bildet man das Zweierkomplement einer negativen Zahl?

Man schreibt den Betrag binär in der gewählten Breite, invertiert alle Bits und addiert eins. Für −5 in acht Bit: aus 00000101 wird 11111010, plus eins ergibt 11111011.

Warum wird Hexadezimal in der Informatik so viel verwendet?

Weil eine Hexadezimalziffer genau vier Bit entspricht, ein Byte also mit nur zwei Zeichen geschrieben wird. Die Umrechnung ins Binäre erfordert überhaupt kein Rechnen, anders als die ins Dezimale.

Wie diese Berechnung funktioniert

Wert einer Zahl in Basis b mit den Ziffern cₙ…c₁c₀: V = Σ cᵢ · bⁱ, wobei i rechts bei null beginnt. Dezimal nach Basis b: fortgesetzte Division durch b, die Reste in umgekehrter Reihenfolge gelesen. Direkte Entsprechung: eine Hexadezimalziffer sind 4 Bit, eine Oktalziffer 3 Bit, Binär lässt sich also durch Gruppieren umrechnen. Zweierkomplement in n Bit: für ein nicht negatives v ist das Muster v selbst; für negatives v ist es 2ⁿ + v, gewonnen durch Invertieren der Bits von |v| und Addieren von 1. Darstellbarer Bereich mit Vorzeichen: −2ⁿ⁻¹ bis 2ⁿ⁻¹ − 1.