Hamming-Code-Rechner

Mit dem Hamming-Code-Rechner Paritätsbits berechnen, Binärdaten kodieren und 1-Bit-Fehler via Syndrom zuverlässig erkennen und korrigieren. Jetzt testen!

805.1K Berechnungen Aktualisiert · 2026-05-21 Lokale Ausführung · Kein Daten-Upload
AD

So nutzen Sie den Hamming-Code-Rechner

Mit unserem interaktiven Hamming-Code-Rechner können Sie Binärdaten im Handumdrehen mit Fehlerkorrekturbits absichern oder bestehende Codewörter auf Übertragungsfehler analysieren:

  1. Modus wählen — Wählen Sie Kodieren, um für reine Nutzdatenbits die passenden Paritätsbits zu erzeugen, oder Prüfen und korrigieren, um ein empfangenes Hamming-Codewort zu untersuchen.
  2. Binärfolge eingeben — Tragen Sie eine beliebige Folge aus Nullen und Einsen in das Eingabefeld ein (z. B. 1011 für 4 Datenbits).
  3. Ergebnis analysieren — Der Hamming-Code-Rechner gibt das vollständige Codewort, die Bit-Positionen sowie bei der Fehlerprüfung das berechnete Fehlersyndrom und die korrigierten Daten aus.

Alle Rechenschritte werden in Echtzeit lokal in Ihrem Browser durchgeführt.

Mathematischer Hintergrund: Paritätsbits & Hamming-Ungleichung

Der von Richard Hamming entwickelte Hamming-Code ist ein linearer Blockcode zur Vorwärtsfehlerkorrektur (Forward Error Correction, FEC). Er ermöglicht es, 1-Bit-Fehler selbstständig zu lokalisieren und zu korrigieren sowie 2-Bit-Fehler zu erkennen.

1. Anzahl der Paritätsbits bestimmen

Um $m$ Datenbits mit $r$ Paritätsbits (Prüfbits) gegen 1-Bit-Fehler abzusichern, muss die Hamming-Ungleichung erfüllt sein:

2^r >= m + r + 1
Datenbits ($m$)Prüfbits ($r$)Gesamtlänge ($n = m + r$)Code-Bezeichnung
437(7,4)-Hamming-Code
8412(12,8)-Hamming-Code
11415(15,11)-Hamming-Code
16521(21,16)-Hamming-Code

2. Platzierung der Bits

Die Paritätsbits $P_i$ werden an allen Bit-Positionen eingefügt, die eine Zweierpotenz darstellen ($1, 2, 4, 8, 16, \dots$). Die verbleibenden Positionen werden der Reihe nach mit den Datenbits $D_j$ aufgefüllt:

  • Position 1 ($2^0$): $P_1$
  • Position 2 ($2^1$): $P_2$
  • Position 3: $D_1$
  • Position 4 ($2^2$): $P_3$
  • Position 5: $D_2$
  • Position 6: $D_3$
  • Position 7: $D_4$

Unser Hamming-Code-Rechner strukturiert diese Zuordnung für jede beliebige Eingabelänge automatisch.

Schritt-für-Schritt-Beispiel: Der (7,4)-Hamming-Code

Angenommen, Sie möchten das 4-Bit-Datenwort 1011 ($D_1=1, D_2=0, D_3=1, D_4=1$) absichern:

  1. Bitmuster mit Platzhaltern:
    [P1, P2, 1, P3, 0, 1, 1]
  2. Paritätsbits berechnen (gerade Parität / XOR-Summe):
    • $P_1$ prüft Positionen mit einer 1 an Bitstelle 0 (1, 3, 5, 7): $P_1 = D_1 \oplus D_2 \oplus D_4 = 1 \oplus 0 \oplus 1 = 0$
    • $P_2$ prüft Positionen mit einer 1 an Bitstelle 1 (2, 3, 6, 7): $P_2 = D_1 \oplus D_3 \oplus D_4 = 1 \oplus 1 \oplus 1 = 1$
    • $P_3$ prüft Positionen mit einer 1 an Bitstelle 2 (4, 5, 6, 7): $P_3 = D_2 \oplus D_3 \oplus D_4 = 0 \oplus 1 \oplus 1 = 0$
  3. Fertiges Codewort:
    0 1 1 0 0 1 1

Der Hamming-Code-Rechner zeigt Ihnen diese Codierung übersichtlich aufgeschlüsselt an.

Syndrom-Berechnung und 1-Bit-Fehlerkorrektur

Wird während der Datenübertragung ein Bit verfälscht (z. B. Bit an Position 5 kippt von 0 auf 1 zu 0110111), ermittelt der Hamming-Code-Rechner die Fehlerstelle über das Syndrom $S = (s_3 s_2 s_1)_2$:

  • $s_1 = \text{Parität}(1, 3, 5, 7) = 0 \oplus 1 \oplus 1 \oplus 1 = 1$
  • $s_2 = \text{Parität}(2, 3, 6, 7) = 1 \oplus 1 \oplus 1 \oplus 1 = 0$
  • $s_3 = \text{Parität}(4, 5, 6, 7) = 0 \oplus 1 \oplus 1 \oplus 1 = 1$

Das resultierende Syndrom lautet binär $101_2 = 5_{10}$. Die Fehlerposition ist somit exakt Bit 5. Der Hamming-Code-Rechner invertiert Bit 5 zurück auf 0 und stellt das originale Datenwort fehlerfrei wieder her.

Typische Anwendungsbereiche

Der Hamming-Code-Rechner ist ein ideales Werkzeug für verschiedene Einsatzgebiete in Informatik und Technik:

  • Informatik-Studium & Lehre — Nachvollziehen von Vorlesungsinhalten zu Codierungstheorie, Rechnernetzen und Rechnerarchitektur.
  • ECC-Hauptspeicher (RAM) — Verständnis von Fehlerkorrekturverfahren in Server-Arbeitsspeichern (SECDED-Erweiterung).
  • Telekommunikation & Funktechnik — Absicherung digitaler Signalübertragungen gegen Rauschen und Bitkipper.
  • Hardware-Entwicklung — Verifikation digitaler Schaltungen und Prüfsummenlogik in FPGAs und ASICs.

Nutzen Sie den Hamming-Code-Rechner, um Fehlerszenarien interaktiv durchzuspielen und Ihr Verständnis für fehlertolerante Codierungsverfahren zu vertiefen.

Häufige Fragen zu Hamming-Code-Rechner

Wie funktioniert der Hamming-Code-Rechner zur Kodierung von Binärdaten?

Wählen Sie den Modus „Kodieren“ und geben Sie Ihre Datenbits (z. B. 1011) ein. Der Hamming-Code-Rechner ermittelt automatisch die benötigte Anzahl an Paritätsbits, platziert diese an den Zweierpotenz-Positionen (1, 2, 4, 8, …) und berechnet deren Werte nach gerader Parität.

Wie erkennt und korrigiert der Hamming-Code-Rechner 1-Bit-Übertragungsfehler?

Im Modus „Prüfen und korrigieren“ geben Sie das empfangene Codewort ein. Der Hamming-Code-Rechner prüft alle Paritätsgruppen und ermittelt das Syndrom. Ein Syndrom ungleich 0 zeigt exakt die Position des gekippten Bits an, welches automatisch invertiert wird.

Wie viele Paritätsbits werden für eine bestimmte Anzahl an Datenbits benötigt?

Die Mindestanzahl r der Paritätsbits für m Datenbits folgt der Hamming-Ungleichung 2^r >= m + r + 1. Für 4 Datenbits sind 3 Paritätsbits erforderlich (7,4-Hamming-Code), für 8 Datenbits 4 Paritätsbits (12,8-Code) und für 16 Datenbits 5 Paritätsbits.

Was ist der Unterschied zwischen gerader und ungerader Parität beim Hamming-Code?

Bei gerader Parität (Even Parity) wird das Paritätsbit so gewählt, dass die Gesamtzahl der Einsen in der überwachten Bitgruppe gerade ist. Bei ungerader Parität (Odd Parity) muss die Summe ungerade sein. Dieser Hamming-Code-Rechner nutzt standardmäßig die verbreitete gerade Parität.

Werden meine eingegebenen Daten auf einem Server gespeichert?

Nein. Der Hamming-Code-Rechner führt alle Berechnungen vollständig lokal in Ihrem Webbrowser aus. Es werden zu keinem Zeitpunkt Daten an externe Server übertragen oder gespeichert.