Einfach erklärt: So funktionieren negative Zahlen und Kommazahlen im Binärsystem

In der digitalen Welt werden Zahlen meistens im Binärsystem gespeichert — also nur mit 0 und 1. Doch wie stellt man darin eigentlich negative Zahlen und Kommazahlen (also Zahlen mit Nachkommastellen) dar? Hier kommen wichtige Konzepte wie das Zweierkomplement, die Mantisse und der Exponent ins Spiel. In diesem Artikel wird dieses Thema praxisnah erklärt

Negative Zahlen im Binärsystem: Das Zweierkomplement (ZK)

Nehmen wir eine 4-Bit-Zahl:

  1. Positive Zahl in Binär: 5 → 0101
  2. Bits invertieren (0 → 1, 1 → 0): 1010
  3. 1 addieren: 1010 + 1 = 1011

1011 repräsentiert also -5 im Zweierkomplement mit 4 Bits.

Das erste Bit (links) ist das Vorzeichenbit: 0 bedeutet positiv, 1 negativ.

Kommazahlen im Binärsystem:

Ganzzahlen reichen nicht aus, um Zahlen wie 3,14 oder -0,001 darzustellen. Für solche Zahlen nutzen Computer sogenannte Gleitkommazahlen (englisch: floating point numbers), die folgendermaßen aufgebaut sind:

Zahl = Mantisse × Basis^Exponent

Mantisse

Die Mantisse enthält die signifikanten Ziffern der Zahl. Zum Beispiel ist bei 1,23 × 10^3 die 1,23 die Mantisse.

Exponent

Der Exponent gibt an, wie stark die Mantisse verschoben wird. Bei 1,23 × 10^3 ist der Exponent 3 (also Verschiebung um drei Stellen nach rechts).

Wie funktioniert das im Binärsystem?

Die Basis ist hier 2 (statt 10). Eine Zahl wird also als

Mantisse × 2^Exponent

gespeichert.

🧮 Beispiel: Was ist 6,5 im Binärsystem?

Schritt 1: Ganze Zahl → Binär

6 in Binär ist 110₂

Schritt 2: Nachkommazahl → Binär

0,5 = ein halbes → das ist 0.1 im Binärsystem, denn:

  • 2⁻¹ = 0,5 → Wir brauchen nur dieses eine Bit.

Also: 6,5 = 110.1₂

Nebeninformation: die erste Zahl vor dem Komma ist 20, was 1 ist.

💡 Warum wird 6,5 als 1.101 × 2² geschrieben?

Damit ein Computer Kommazahlen gut speichern und verarbeiten kann, schreibt er sie in einer normalen Form (normierte Darstellung).
Dabei gilt:

👉 Es darf nur eine 1 vor dem Komma stehen.

Beispiel:

110.1₂ → 1.101 × 2²

Was passiert?

  • Das Komma wird zwei Stellen nach links geschoben
  • Die Zahl 110.1 (binär) ist 6,5 (dezimal)
  • Wenn wir das Komma zwei Stellen nach rechts zurückschieben, haben wir wieder 6,5
  • 1.101₂ ist die normierte Form
  • Der Exponent 2 sagt, wie oft man das Komma verschieben muss

🧩 Was sind Mantisse und Exponent?

Der Computer merkt sich:

✅ Mantisse:

Das ist die Zahl nach dem Komma von der normierten Form.

👉 Bei 1.101 ist das .101

Die führende 1 wird nicht gespeichert, weil sie immer da ist. So spart man Speicher.

✅ Exponent:

Das ist die Zahl, wie weit das Komma verschoben wurde.

👉 Bei 1.101 × 2² ist der Exponent 2

❓ Was ist der Bias?

Ein Computer speichert Exponenten nur als positive Binärzahlen.
Damit auch negative Exponenten funktionieren, rechnet man einen festen Wert dazu: den Bias.

Beim 32-Bit-Gleitkomma-Standard (IEEE 754) ist der Bias 127.

Beispiel:

  • Echter Exponent: 2
  • Gespeichert wird: 2 + 127 = 129
  • Binär: 10000001

🔁 Der Bias wird immer dazugezählt, wenn eine Kommazahl mit Exponent im IEEE-754-Standard gespeichert wird – also bei Gleitkommazahlen wie float oder double

🧠 Wie sieht eine Gleitkommazahl im Speicher aus?

Beim 32-Bit-Standard sieht eine Zahl so aus:

TeilBitsBedeutung
Vorzeichen1 Bit0 = positiv, 1 = negativ
Exponent8 BitsMit Bias (z. B. 129 für echten Exponent 2)
Mantisse23 BitsDie Nachkommabits nach der führenden 1

✅ Beispiele

🔢 Beispiel: 6,5

  • Dezimal: 6,5
  • Binär: 110.1 (Die 110 steht einfach für die Zahl 6 und die 1 kommt aus 2-1 was 0.5 ergibt)
  • Normalisiert: 1.101 × 2² (Das ist die normalisierte Form, weil wir das Komma zwei Stellen nach Rechts verschoben haben, ergibt sich der Exponent 22)
  • Mantisse: .10110100000000000000000000 (Die führende 1 wird nicht gespeichert, weil sie immer da ist. )

.1 = 1 × 1/2 = 0,5
.01 = 0 × 1/4 = 0
.001 = 1 × 1/8 = 0,125
→ zusammen: 0,5 + 0 + 0,125 = 0,625

Der Rest wird einfach mit 0 aufgefüllt.

  • Exponent: 2 + 127 = 12910000001
  • Vorzeichen: 0 (Die 0 weil es eine positive Zahl ist )

🧾 Ergebnis (32 Bit):

0 10000001 10100000000000000000000

🔢 Beispiel: -0,75

  • Dezimal: -0,75
  • Binär: -0.11
  • Normalisiert: -1.1 × 2⁻¹
  • Mantisse: .110000000000000000000000
  • Exponent: -1 + 127 = 12601111110
  • Vorzeichen: 1 (weil negativ)

🧾 Ergebnis (32 Bit):

1 01111110 10000000000000000000000

Nützliche Webseite: https://www.h-schmidt.net/FloatConverter/IEEE754.html