Hamming-Code-Rechner
Das Datenwort 1011 wird zu 0110011: Drei Bits mit gerader Parität stehen an den Positionen 1, 2 und 4, Ihre vier Datenbits an den Positionen 3, 5, 6 und 7. Praktisch, um Übungsaufgaben zu prüfen oder das Abdeckungsschema zu zeichnen. Kostenlos in Ihrem Browser.
- Kostenlos
- Läuft in Ihrem Browser
- Ohne Anmeldung
- Ihre Daten bleiben auf Ihrem Gerät
Im Browser ausführen – kostenlos
Rechenbeispiel
- Daten
- 1011
- Codiert
- 0110011
- P1
- 0
- P2
- 1
- P4
- 0
Der Hamming(7,4)-Code ist der erste binäre Einzelfehler-korrigierende Code, den die meisten Ingenieure und Studierenden wirklich implementieren: vier Informationsbits werden zu einem Sieben-Bit-Wort, nachdem drei gerade Paritätsbits an den Zweierpotenz-Positionen eingefügt wurden. Dieser Hamming-Code-Rechner nimmt ein Vier-Bit-Datenwort, setzt jene Bits auf die Positionen drei, fünf, sechs und sieben, berechnet p1, p2 und p4 aus den Lehrbuch-Überdeckungsmengen und liefert das kodierte Sieben-Bit-Wort zusammen mit jedem Paritätsbit. Der Vertrag ist streng.
Wie Hamming(7,4) Datenbits platziert und die Parität berechnet
Ein Hamming(7,4)-Kodierer bildet ein Vier-Bit-Datenwort auf ein Sieben-Bit-Codewort ab, mit dem ein Decoder später jedes gekippte Bit anhand eines Drei-Bit-Syndroms finden kann. Die Positionen im übertragenen Wort sind von eins bis sieben nummeriert. Paritätsbits sitzen auf den Zweierpotenzen: Position eins ist p1, zwei ist p2 und vier ist p4.
Die vier Datenbits füllen die restlichen Plätze der Reihe nach, sodass Position drei das erste Datenbit d1, fünf d2, sechs d3 und sieben d4 ist.
Dieser Endpunkt nutzt gerade Parität, die Konvention jeder Hamming(7,4)-Vorlesung. p1 wird so gewählt, dass die Positionen eins, drei, fünf und sieben eine gerade Anzahl Einsen enthalten, das heißt p1 gleich d1 XOR d2 XOR d4. p2 überdeckt die Positionen zwei, drei, sechs und sieben, also p2 gleich d1 XOR d3 XOR d4. p4 überdeckt vier, fünf, sechs und sieben, also p4 gleich d2 XOR d3 XOR d4. Das kodierte Wort ist die Verkettung p1, p2, d1, p4, d2, d3, d4.
Der Unterrichtsvektor 1011 ergibt daher p1 gleich null, p2 gleich eins, p4 gleich null und die Sieben-Bit-Zeichenkette 0110011. Das Null-Datenwort kodiert als 0000000, das Einser-Datenwort 1111 als 1111111, nützliche Prüfreferenzen. Diese Fähigkeit kodiert nur; sie dekodiert kein empfangenes Sieben-Bit-Wort, berechnet kein Syndrom und korrigiert keinen Fehler.
Wo ein Hamming(7,4)-Kodierer seinen Nutzen zeigt
Informatikkurse nutzen einen Hamming-Code-Rechner, damit Lernende das Sieben-Bit-Wort beliebiger Vier-Bit-Hausaufgaben prüfen, ohne Paritätspositionen zu verwechseln. Autoren von Embedded- und Speicher-Firmware pinnen encoded gegen einen bekannten Vektor wie 1011 bildet auf 0110011 in Unit-Tests, bevor sie einen größeren SECDED-Block oder ein Hamming(15,11)-Layout verdrahten. Interview- und Prüfungsplattformen brauchen ein deterministisches Orakel, das eine Drei- oder Fünf-Bit-Kette ablehnt statt still aufzufüllen, weil Auffüllen eine falsche Studierendenantwort als richtig werten würde.
Fehlgeschlagene Prüfung wird nicht berechnet. Halten Sie Anfragen klein, behandeln Sie encoded als kopierbares Hauptergebnis und nutzen Sie p1, p2 und p4, wenn Sie das Überdeckungsdiagramm für eine Folie zeichnen. Dieses Werkzeug ersetzt keine allgemeine ECC-Bibliothek: es ist der Hamming(7,4)-Kodierer, den Studierende und Tests wirklich suchen, kein Hamming-Konstruktor variabler Länge und kein Decoder.
Anwendungsfälle
Hamming(7,4)-Übungen im Unterricht
Lassen Sie Studierende ein Vier-Bit-Datenwort senden und encoded, p1, p2 sowie p4 mit der Lehrbuch-Platzierung gerader Parität auf den Positionen eins, zwei und vier vergleichen.
ECC-Unit-Tests der Firmware
Pinnen Sie Hamming(7,4)-Vektoren wie 1011 kodiert als 0110011 in der CI, bevor Sie einen größeren Hamming- oder SECDED-Block in der Speicherfirmware verdrahten.
Prüfungs- und Interview-Orakel
Bewerten Sie Hamming-Code-Aufgaben mit einem deterministischen Kodierer, der jede Zeichenkette ablehnt, die nicht genau vier Binärziffern ist, statt still aufzufüllen.
Häufige Fragen
Wie kodiert man vier Bits mit dem Hamming(7,4)-Code?
Senden Sie data als Zeichenkette aus genau vier Binärziffern, zum Beispiel 1011.
Was geschieht, wenn die Eingabe nicht genau vier Binärziffern hat?
Drei-Bit-Fragmente, Fünf-Bit-Überläufe, leere Zeichenketten und nichtbinäre Zeichen werden abgelehnt und nicht abgerechnet.
Welche Paritätskonvention nutzt dieser Hamming-Code?
Gerade Parität, die Hamming(7,4)-Lehrbuchkonvention. p1, p2 und p4 werden so gewählt, dass jede Überdeckungsmenge eine gerade Anzahl Einsen enthält. Das Antwortfeld parity ist stets even.
Wo sitzen die Paritätsbits im Sieben-Bit-Wort?
Auf den Zweierpotenz-Positionen: p1 auf Position eins, p2 auf zwei, p4 auf vier. Datenbits belegen die Positionen drei, fünf, sechs und sieben, daher ist das layout p1 p2 d1 p4 d2 d3 d4.
Wie wird jedes Paritätsbit berechnet?
Jedes Paritätsbit sorgt dafür, dass seine Gruppe von Positionen eine gerade Anzahl Einsen enthält. p1 deckt die Positionen 1, 3, 5 und 7 ab, p2 die Positionen 2, 3, 6 und 7 und p4 die Positionen 4, 5, 6 und 7.
Verwandte Tools
Für Entwickler — API-Zugang
Alles auf dieser Seite ist auch per API verfügbar. Dieser Abschnitt richtet sich an Teams, die es in ihre eigenen Systeme einbinden möchten; alle anderen nutzen einfach das Tool oben.
Endpunkt
Authentifizierung per Bearer-Token. Ein einziger POST stellt die Aufgabe in die Warteschlange; das Ergebnis erhalten Sie per Webhook oder über einen signierten Link.
Aufruf aus Ihrem Stack
curl -X POST https://api.kit.forhosting.com/enc/hamming-code \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"data":"1011"}'const res = await fetch("https://api.kit.forhosting.com/enc/hamming-code", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"data": "1011"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/enc/hamming-code",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"data": "1011"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/enc/hamming-code", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"data":"1011"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"data":"1011"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/enc/hamming-code", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Beispiel-Anfrage
{
"data": "1011"
}Beispiel-Antwort
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.hamming_code",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}Die API arbeitet asynchron: Sie erhalten sofort eine task_id. Polling ist mit 1 Anfrage pro Sekunde erlaubt.
Preis
Der Preis steht auf der Seite – keine Tokens, keine Credits. Fehlgeschlagene Aufgaben werden nicht berechnet.
Fehler
| HTTP | Code | Bedeutung |
|---|---|---|
401 | unauthorized | Der API-Schlüssel fehlt oder ist ungültig – prüfen Sie den Authorization-Header (Bearer). |
402 | insufficient_balance | Ihr Guthaben reicht für diese Aufgabe nicht aus – Aufladungen verfallen nicht. |
404 | unknown_type | Unbekannter Aufgabentyp – prüfen Sie das Feld „type“ gegen den Katalog. |
429 | rate_limited | Zu viele Anfragen – warten Sie kurz; Polling ist mit 1 Anfrage pro Sekunde erlaubt. |
Technische Hinweise
Nach dem Entfernen optionaler Leerzeichen, Unterstriche, Doppelpunkte, Bindestriche und Kommas muss die Eingabe genau vier Zeichen aus der Menge Null und Eins sein; jede andere Länge oder ein nichtbinäres Zeichen scheitert mit invalid_input und wird nicht abgerechnet.
Eingabevertrag, Antwortfelder und ungültige Vier-Bit-Wörter
Bei Erfolg spiegelt der Körper die normalisierte Vier-Bit-Datenkette, liefert encoded als das siebenbitige Hamming-Codewort, meldet die drei Paritätsbits p1, p2 und p4 sowie die vier platzierten Datenbits d1 bis d4 als Ganzzahlen null oder eins, listet positions als Sieben-Elemente-Feld in Indexreihenfolge von Position eins bis sieben und enthält layout als Merkhilfe p1 p2 d1 p4 d2 d3 d4 plus parity auf even, damit Klienten die Konvention ohne Raten anzeigen. Koppeln Sie die encoded-Zeichenkette mit Ihrem eigenen Decoder, wenn Sie ein Syndrom brauchen; dieser Endpunkt kippt keine Bits und nennt keine fehlgeschlagene Position. Halten Sie die Anfrage klein: vier Bits Nutzlast, eine Handvoll XOR-Operationen, ohne Netz und ohne Zufall, sodass Referenzbeispiele byteweise über Laufzeiten vergleichbar bleiben. Senden Sie per POST einen JSON-Körper mit einem Pflichtfeld namens data: eine Zeichenkette aus genau vier Binärziffern. Alias-Schlüssel bits, word, text, value und input werden akzeptiert, wenn data fehlt, und in dieser Reihenfolge aufgelöst. Nach dem Bereinigen müssen die restlichen Zeichen genau vier Symbole aus Null und Eins sein; ein fehlendes Feld, eine leere Zeichenkette, ein Drei-Bit-Fragment, ein Fünf-Bit-Überlauf und jeder Buchstabe oder jede Ziffer außer Null und Eins scheitern mit invalid_input, das das Feld data nennt. Diese Fehler werden nicht abgerechnet.
Wo ein Hamming(7,4)-Kodierer seinen Nutzen zeigt
Weil die Umsetzung reines Parse-Stufe-A ist, kostet jeder erfolgreiche Aufruf den veröffentlichten Basispreis $0.002 ohne Modell-Token und ohne ausgehendes Netz.
Technische Fragen
Was kostet der Hamming-Code-Rechner?
Das Browser-Werkzeug ist kostenlos. API-Anfragen nutzen das vorausbezahlte KIT-Guthaben zu $0.002 je erfolgreichem Aufruf; ungültige Eingabe wird nicht abgerechnet.