ForHosting KIT · Outils pour développeurs

Calculateur bits de parité Hamming ECC

Trouvez le nombre minimal de bits de parité d'un code de Hamming : 4 bits de données en demandent 3, ce qui donne le code classique (7,4) sans syndrome libre. Vous voyez aussi la longueur totale et le rendement du code. Gratuit dans votre navigateur.

  • Gratuit
  • Fonctionne dans votre navigateur
  • Sans inscription
  • Vos données restent sur votre appareil
Utilisez-le depuis WebAPIE-mailTelegramApp bientôt
Si vous saisissez
Bits de données
4
Vous obtenez
Bits de parité
3
Nombre total de bits
7
Capacité de couverture
8
Positions utilisées
8

Les codes binaires de Hamming protègent les mots mémoire, les pages flash et les trames de liaison en ajoutant quelques bits de parité pour qu'un bit inversé puisse être localisé et corrigé à partir du syndrome. La première question de conception est de savoir combien de bits de parité r vous devez prévoir pour un nombre donné de bits de données m. Ce calculateur de bits de parité Hamming ECC répond par l'inégalité de couverture classique : deux à la puissance r doit être au moins m plus r plus un, afin que les 2^r syndromes distincts codent le cas sans erreur et chaque erreur d'un seul bit parmi les n égal à m plus r bits codés. Saisissez m comme entier positif ; le point de terminaison renvoie le r minimal, la longueur totale du code n, la capacité de couverture, le nombre de motifs de syndrome utilisés versus en réserve, et le rendement m sur n.

Pourquoi 2^r doit couvrir m + r + 1 motifs

Un code de Hamming binaire à correction d'erreur simple de longueur n égal à m plus r stocke m bits d'information et r bits de parité. Après transmission ou stockage, le décodeur calcule un syndrome de r bits. Un syndrome zéro signifie que le mot reçu correspond à un mot de code (aucune erreur d'un bit détectée).

Tout autre syndrome non nul doit pointer exactement vers l'une des n positions de bit susceptibles d'avoir basculé, afin que le décodeur inverse ce bit et restaure le mot d'origine. Ce décompte nécessite un motif pour le cas propre et n motifs pour les cas d'erreur simple, soit n plus un égal à m plus r plus un valeurs de syndrome distinctes.

Comme un syndrome de r bits n'a que deux à la puissance r valeurs possibles, l'inégalité deux à la r supérieure ou égale à m plus r plus un est nécessaire. Lorsque l'égalité tient, le code est parfait : chaque syndrome est utilisé et il ne reste aucune capacité pour détecter les doubles erreurs sans un bit de parité globale supplémentaire.

Les exemples classiques sont le code (7,4) avec m égal à quatre et r égal à trois (huit syndromes pour sept positions plus propre), et le (15,11) avec m égal à onze et r égal à quatre. Ce calculateur trouve le plus petit r qui satisfait l'inégalité pour tout m légal, afin que vous n'ayez pas à tester la borne à la main pour dimensionner un registre, une page de métadonnées ECC DRAM ou une réponse d'examen.

Où le dimensionnement de parité Hamming apporte de la valeur

Les équipes micrologicielles et de contrôleurs mémoire utilisent un calculateur de bits de parité Hamming ECC lorsqu'elles doivent savoir combien de bits de contrôle pendent d'un chemin de données avant de figer une carte de registres ou une zone de réserve flash. Les cours d'architecture des ordinateurs et de théorie du codage ont besoin d'un oracle déterministe pour les devoirs demandant le plus petit r pour un m donné, y compris les longueurs non parfaites où des syndromes restent en réserve.

La préparation d'entretiens gagne des vérifications instantanées que quatre bits de données exigent trois de parité et onze en exigent quatre, sans redessiner à chaque fois la matrice de contrôle de parité complète. Les concepteurs de couche liaison et de stockage comparent le rendement m sur n entre largeurs de mot candidates pour arbitrer surcharge de fiabilité et bande passante. Une validation échouée ne consomme pas de solde.

Disposition ECC mémoire et flash

Dimensionnez combien de bits de parité Hamming pendent d'un mot ou d'une page de données avant de figer la carte de registres, la zone de réserve ou le budget microcode du contrôleur.

Devoirs et examens de théorie du codage

Vérifiez le r minimal pour tout m sous 2^r ≥ m+r+1, y compris les cas parfaits (7,4) et (15,11) et les longueurs non parfaites avec syndromes en réserve.

Entretiens et compromis de conception

Comparez la longueur totale n et le rendement m/n entre largeurs de données candidates pour expliquer le surcoût Hamming à correction d'erreur simple.

Combien de bits de parité un code de Hamming exige-t-il pour m bits de données ?

Le plus petit entier r tel que 2^r ≥ m + r + 1.

Pourquoi l'inégalité est-elle 2^r ≥ m + r + 1 ?

Un syndrome de r bits a 2^r valeurs : une sans erreur et une par position de bit codé pouvant basculer. Il faut m+r+1 motifs, donc 2^r doit les couvrir.

Cela inclut-il la parité globale du Hamming étendu (SECDED) ?

Non. Ce calculateur renvoie le r minimal uniquement pour la correction d'erreur simple Hamming binaire. Le SECDED étendu ajoute un bit de parité globale supplémentaire au-dessus de ce r.

Combien de bits de parité faut-il pour 11 bits de données ?

Quatre. Deux puissance quatre couvre exactement 11 bits de données, plus 4 bits de parité, plus le cas sans erreur. C'est le code de Hamming classique (15,11), qui utilise tous les syndromes sans en laisser aucun libre.

Qu'est-ce qui rend un code de Hamming parfait ?

Tous les syndromes servent : un pour le cas sans erreur et un pour chaque position de bit. Les codes (7,4) et (15,11) sont parfaits, ils n'ont donc aucune marge pour détecter aussi les erreurs doubles sans un bit de parité global supplémentaire.

Tout sur cette page est disponible par programmation. Cette section s'adresse aux équipes qui veulent l'intégrer à leurs systèmes ; les autres peuvent simplement utiliser l'outil ci-dessus.

POSThttps://api.kit.forhosting.com/dev/ecc-parity-bits

Authentification par jeton Bearer : un seul POST met la tâche en file d’attente, et le résultat vous parvient par webhook ou lien signé.

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}'
{
  "data_bits": 4
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "dev.ecc_parity_bits",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

L’API est asynchrone : chaque appel renvoie un task_id immédiatement, puis vous interrogez l’état à raison d’une requête par seconde.

par requête$0.002

Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.

HTTPCodeSignification
401unauthorizedClé API absente ou invalide : vérifiez l’en-tête Authorization.
402insufficient_balanceSolde insuffisant : rechargez votre compte pour lancer cette tâche.
404unknown_typeType de tâche inconnu : vérifiez le champ type de votre requête.
429rate_limitedTrop de requêtes : ralentissez la cadence, puis réessayez.

Une entrée invalide échoue avec invalid_input et n'est pas facturée.

Contrat d'entrée, champs de réponse et nombres travaillés

Associez les décomptes à votre propre schéma de disposition des bits si vous avez besoin de la numérotation des positions (parité aux puissances de deux) ; ce point de terminaison ne renvoie que les chiffres de dimensionnement r et n, jamais une charge utile encodée ni une matrice de bits. Envoyez en POST un corps JSON avec un champ obligatoire : data_bits, un entier de un à un million inclus. Les valeurs peuvent arriver en entiers JSON ou en chaînes numériques ; champs manquants, non entiers, zéro, négatifs, non finis et valeurs au-dessus du maximum documenté échouent avec invalid_input en nommant le problème. En succès le corps renvoie data_bits comme m et parity_bits comme le r minimal, total_bits comme n égal à m plus r, covering_capacity comme deux à la r, positions_used comme n plus un (syndrome propre plus un motif par bit codé), spare_syndromes comme covering_capacity moins positions_used, code_rate comme m divisé par n arrondi à douze décimales pour des goldens stables, plus les chaînes inequality et inequality_satisfied qui reformulent le contrôle de couverture avec les nombres concrets, et un court champ formula. Exemple : data_bits quatre donne parity_bits trois, total_bits sept, covering_capacity huit, positions_used huit, spare_syndromes zéro et code_rate environ zéro point cinq sept un quatre—les paramètres du Hamming (7,4) de manuel. Exemple : data_bits un donne parity_bits deux et total_bits trois, car deux à la deux égal quatre couvre un plus deux plus un. Exemple : data_bits huit nécessite parity_bits quatre (seize couvre huit plus quatre plus un égal treize) avec trois syndromes en réserve.

Où le dimensionnement de parité Hamming apporte de la valeur

Comme l'implémentation est pure parse niveau A, chaque appel réussi coûte le prix de base publié $0.002 sans jetons de modèle ni réseau sortant. Gardez data_bits dans la plage documentée, figez les champs entiers dans les tests, et vous obtenez un dimensionnement SEC reproductible pour salles de classe, greffons LMS et workers en bordure sans déployer une bibliothèque complète de théorie du codage.

Quels sont les paramètres pour 4 bits de données ?

parity_bits=3, total_bits=7, covering_capacity=8, spare_syndromes=0—le classique code de Hamming parfait (7,4).

Que coûte le calculateur de bits de parité Hamming ECC ?

L'outil navigateur est gratuit. Les requêtes API utilisent le solde prépayé KIT à $0.002 par appel réussi ; une entrée invalide n'est pas facturée.

Consulter la documentation complète du KIT →