Hamming-ECC-Paritätsbits-Rechner
Ermitteln Sie, wie viele Paritätsbits ein Hamming-Code mindestens braucht: 4 Datenbits benötigen 3, das ergibt den klassischen (7,4)-Code ohne freie Syndrome. Sie sehen außerdem Gesamtlänge und Coderate. 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
- Datenbits
- 4
- Paritätsbits
- 3
- Gesamtbits
- 7
- Abdeckungskapazität
- 8
- Belegte Positionen
- 8
Binäre Hamming-Codes schützen Speicherwörter, Flash-Seiten und Verbindungsrahmen, indem sie wenige Paritätsbits hinzufügen, damit jedes gekippte Bit aus dem Syndrom lokalisiert und korrigiert werden kann. Die erste Entwurfsfrage lautet, wie viele Paritätsbits r Sie für eine gegebene Anzahl Datenbits m benötigen. Dieser Hamming-ECC-Paritätsbits-Rechner beantwortet das mit der klassischen Überdeckungsungleichung: zwei hoch r muss mindestens m plus r plus eins sein, damit die 2^r verschiedenen Syndrome den fehlerfreien Fall und jeden Einbitfehler unter den n gleich m plus r kodierten Bits abbilden können. Geben Sie m als positive ganze Zahl ein; der Endpunkt liefert das minimale r, die Gesamtlänge n, die Überdeckungskapazität, wie viele Syndrommuster genutzt versus übrig sind, und die Coderate m über n.
Warum 2^r m + r + 1 Muster abdecken muss
Ein binärer Hamming-Code mit Einfehlerkorrektur der Länge n gleich m plus r speichert m Informationsbits und r Paritätsbits. Nach Übertragung oder Speicherung berechnet der Decoder ein r-Bit-Syndrom. Syndrom null bedeutet, dass das empfangene Wort einem Codewort entspricht (kein erkannter Einbitfehler).
Jedes andere von null verschiedene Syndrom muss genau eine der n Bitpositionen benennen, die gekippt sein könnte, damit der Decoder dieses Bit invertiert und das Originalwort wiederherstellt. Diese Buchführung braucht ein Muster für den sauberen Fall und n Muster für die Einfehlerfälle, also n plus eins gleich m plus r plus eins verschiedene Syndromwerte. Weil ein r-Bit-Syndrom nur zwei hoch r mögliche Werte hat, ist die Ungleichung zwei hoch r größer oder gleich m plus r plus eins notwendig.
Bei Gleichheit ist der Code perfekt: jedes Syndrom wird genutzt und es bleibt keine Reserve für Doppelfehlererkennung ohne ein zusätzliches Gesamtparitätsbit. Klassische Beispiele sind der (7,4)-Code mit m gleich vier und r gleich drei (acht Syndrome für sieben Positionen plus sauber) und der (15,11)-Code mit m gleich elf und r gleich vier. Dieser Rechner findet das kleinste r, das die Ungleichung für jedes zulässige m erfüllt, sodass Sie die Schranke nicht von Hand ausprobieren müssen, wenn Sie ein Register, eine Seite ECC-DRAM-Metadaten oder eine Prüfungsantwort dimensionieren.
Wo Hamming-Paritätsdimensionierung sich lohnt
Firmware- und Speichercontroller-Teams nutzen einen Hamming-ECC-Paritätsbits-Rechner, wenn sie wissen müssen, wie viele Prüfbits an einem Datenpfad hängen, bevor sie eine Registerkarte oder ein Flash-Spare-Area-Layout einfrieren. Kurse zu Rechnerarchitektur und Codierungstheorie brauchen ein deterministisches Orakel für Hausaufgaben, die das kleinste r zu gegebenem m verlangen, einschließlich nichtperfekter Längen mit Reservesyndromen. Interviewvorbereitung profitiert von Sofortprüfungen, dass vier Datenbits drei Paritätsbits brauchen und elf Datenbits vier, ohne jedes Mal die volle Paritätsprüfmatrix zu zeichnen.
Link-Layer- und Speicherdesigner vergleichen die Rate m über n über Kandidatenwortbreiten, um Zuverlässigkeits-Overhead gegen Bandbreite abzuwägen. Fehlgeschlagene Validierung wird nicht berechnet.
Anwendungsfälle
ECC-Layout für Speicher und Flash
Dimensionieren Sie, wie viele Hamming-Paritätsbits an einem Datenwort oder einer Seite hängen, bevor Sie Registerkarte, Spare-Area oder Mikrocode-Budget des Controllers festlegen.
Hausaufgaben und Prüfungen zur Codierungstheorie
Prüfen Sie das minimale r für jedes m unter 2^r ≥ m+r+1, einschließlich der perfekten Fälle (7,4) und (15,11) und nichtperfekter Längen mit Reservesyndromen.
Interviews und Entwurfskompromisse
Vergleichen Sie Gesamtlänge n und Rate m/n über Kandidatendatenbreiten, wenn Sie den Overhead von Hamming mit Einfehlerkorrektur erklären.
Häufige Fragen
Wie viele Paritätsbits braucht ein Hamming-Code für m Datenbits?
Die kleinste ganze Zahl r mit 2^r ≥ m + r + 1.
Warum gilt die Ungleichung 2^r ≥ m + r + 1?
Ein r-Bit-Syndrom hat 2^r Werte: einen ohne Fehler und einen pro kodierter Bitposition, die kippen könnte. Das braucht m+r+1 Muster, also muss 2^r sie abdecken.
Enthält das die Gesamtparität des erweiterten Hamming (SECDED)?
Nein. Dieser Rechner liefert das minimale r nur für binäre Hamming-Einfehlerkorrektur. Erweitertes SECDED fügt ein zusätzliches Gesamtparitätsbit oberhalb dieses r hinzu.
Wie viele Paritätsbits brauchen 11 Datenbits?
Vier. Zwei hoch vier deckt genau 11 Datenbits, 4 Paritätsbits und den fehlerfreien Fall ab. Das ist der klassische (15,11)-Hamming-Code, der jedes Syndrom nutzt und keines übrig lässt.
Was macht einen Hamming-Code perfekt?
Dass jedes Syndrom belegt ist: eines für den fehlerfreien Fall und je eines für jede Bitposition. Die Codes (7,4) und (15,11) sind perfekt und haben deshalb keinen Spielraum, ohne zusätzliches Gesamtparitätsbit auch Doppelfehler zu erkennen.
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/dev/ecc-parity-bits \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"data_bits":4}'const res = await fetch("https://api.kit.forhosting.com/dev/ecc-parity-bits", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"data_bits": 4
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/dev/ecc-parity-bits",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"data_bits": 4
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/dev/ecc-parity-bits", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"data_bits":4}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"data_bits":4}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/dev/ecc-parity-bits", 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_bits": 4
}Beispiel-Antwort
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "dev.ecc_parity_bits",
"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
Ungültige Eingabe scheitert mit invalid_input und wird nicht berechnet.
Eingabevertrag, Antwortfelder und durchgerechnete Zahlen
Kombinieren Sie die Zählungen mit Ihrem eigenen Bitlayout-Diagramm, wenn Sie Positionsnummern brauchen (Parität an Zweierpotenzen); dieser Endpunkt liefert nur die Dimensionierungszahlen r und n, niemals eine kodierte Nutzlast oder eine Bitmatrix. Senden Sie per POST einen JSON-Körper mit einem Pflichtfeld: data_bits, eine ganze Zahl von eins bis eine Million einschließlich. Werte dürfen als JSON-Ganzzahlen oder numerische Zeichenketten ankommen; fehlende Felder, Nichtganzzahlen, null, Negative, nichtendliche Werte und Werte über dem dokumentierten Maximum scheitern mit invalid_input und benennen das Problem. Bei Erfolg gibt der Körper data_bits als m zurück und liefert parity_bits als minimales r, total_bits als n gleich m plus r, covering_capacity als zwei hoch r, positions_used als n plus eins (sauberes Syndrom plus ein Muster pro kodiertem Bit), spare_syndromes als covering_capacity minus positions_used, code_rate als m geteilt durch n gerundet auf zwölf Dezimalstellen für stabile Goldens, plus die Zeichenketten inequality und inequality_satisfied, die die Überdeckungsprüfung mit den konkreten Zahlen wiedergeben, und ein kurzes Feld formula. Beispiel: data_bits vier ergibt parity_bits drei, total_bits sieben, covering_capacity acht, positions_used acht, spare_syndromes null und code_rate etwa null Punkt fünf sieben eins vier—die Lehrbuchparameter des (7,4)-Hamming. Beispiel: data_bits eins ergibt parity_bits zwei und total_bits drei, weil zwei hoch zwei gleich vier eins plus zwei plus eins abdeckt. Beispiel: data_bits acht braucht parity_bits vier (sechzehn deckt acht plus vier plus eins gleich dreizehn) mit drei Reservesyndromen.
Wo Hamming-Paritätsdimensionierung sich lohnt
Weil die Implementierung reines Parse-Tier A ist, kostet jeder erfolgreiche Aufruf den veröffentlichten Basispreis $0.002 ohne Modell-Tokens und ohne ausgehendes Netz. Halten Sie data_bits im dokumentierten Bereich, pinnen Sie die Ganzzahlfelder in Tests, und Sie erhalten reproduzierbare SEC-Dimensionierung für Klassenräume, LMS-Plugins und Edge-Worker, ohne eine vollständige Codierungstheorie-Bibliothek aufzustellen.
Technische Fragen
Welche Parameter gelten für 4 Datenbits?
parity_bits=3, total_bits=7, covering_capacity=8, spare_syndromes=0—der klassische perfekte (7,4)-Hamming-Code.
Was kostet der Hamming-ECC-Paritätsbits-Rechner?
Das Browser-Werkzeug ist kostenlos. API-Anfragen nutzen vorausgezahltes KIT-Guthaben zu $0.002 pro erfolgreichem Aufruf; ungültige Eingabe wird nicht berechnet.