Question 1

Rendement du code : 1/3

n1 = 2. S'il n'y a que 2 erreurs (ou 1), le code détectera nécessairement que les 3 octets envoyés ne sont pas identiques. S'il y a 3 erreurs et que les 3 erreurs modifient les 3 octets de la même façon (pas de chance !), le code ne détectera aucune erreur.

Par exemple, si l'octet 11010010 arrive sous la forme
11010011
11010011
11010011
avec 3 erreurs (sur le dernier bit), le code correcteur ne s'apercevra pas qu'il y a eu une erreur de transmission car les 3 versions sont identiques.

n2 = 1. S'il n'y a qu'une seule erreur, un seul des 3 octets sera modifié et le code rétablira la bonne valeur selon la valeur des 2 autres octets. S'il y a 2 erreurs qui transforment 2 des octets de la même façon (pas de chance !), la correction donnera un résultat erroné.

Par exemple, si l'octet 11010010 arrive sous la forme
11010011
11010011
11010010
avec 2 erreurs (sur le dernier bit), le code correcteur s'apercevra qu'il y a eu une erreur mais corrigera en 11010011 qui n'est pas ce qui a été envoyé.

Question 2

Le plus souvent un plus grand nombre d'erreurs peut être détecté ou corrigé. Par exemple, si l'octet 11010010 arrive sous la forme
11010010
11010010
00101101
donc avec 8 erreurs de transmission (la 3ème ligne est totalement fausse), les 8 erreurs seront tout de même toutes corrigés.