Math
Un código que se repara solo
Dieciséis bits en un cuadrado, once de ellos un mensaje: pulse uno y las cuatro lámparas de control deletrean su dirección, y el bloque se arregla solo. Dos errores se detectan pero no se reparan; con tres, el bloque miente con seguridad. Cada afirmación es exhaustiva: los 32 768 errores simples localizados, los 245 760 dobles detectados, todos los triples mal corregidos.

Qué ocurre
Dieciséis bits dispuestos cuatro por cuatro. Once llevan un mensaje; cuatro son controles de paridad en las potencias de dos (1, 2, 4, 8), y un quinto en la posición 0 controla todo el cuadrado. Cada control vigila exactamente la mitad del bloque. Como cada índice pertenece a una combinación distinta de controles, las cuatro respuestas juntas no son una alarma sino una DIRECCIÓN: el o-exclusivo de los índices de todos los bits encendidos es el número escrito bajo la casilla equivocada. Pulse una segunda y el bloque sigue sabiendo que algo falla: el decimosexto bit separa «corregir un error» de «corregir uno y saber que hay dos». Con la tercera el código miente: señala una casilla con total seguridad y devuelve el mensaje equivocado. La distancia cuatro compra una reparación y dos detecciones, nada más. Sin ese decimosexto bit el código es PERFECTO en sentido técnico: 2048 palabras, cada una con quince vecinas, y 2048 × 16 = 32 768 = 2¹⁵ exactamente. Es la aritmética de la memoria ECC, de cada código QR y de todo disco óptico; por eso un CD rayado sigue sonando.
Ecuaciones del módulo
Ecuaciones síndrome: s = XOR de los índices de cada bit activado; s = 0 significa que las cuatro comprobaciones coinciden, y s ≠ 0 ES la dirección del bit erróneo comprobaciones: la comprobación p vigila todo índice i con (i AND p) ≠ 0; p = 1, 2, 4, 8, y la posición 0 comprueba el cuadrado entero veredicto: s = 0 y paridad par → íntegro; paridad impar → un error en s (s = 0 significa el propio bit 0); s ≠ 0 y paridad par → dos errores, detectados y no reparables código perfecto: Hamming(15,11) tiene 2^11 = 2048 palabras de código, cada una con 15 vecinas a un bit de distancia; 2048 × 16 = 32 768 = 2^15 exactamente - las esferas de radio uno teselan el espacio sin dejar nada fuera distancia: d = 3 para Hamming(15,11), d = 4 con el bit del cuadrado entero; corregir t errores exige d ≥ 2t + 1, detectar t exige d ≥ t + 1 exhaustivo: 32 768 casos de un solo bit, 0 mal localizados; 245 760 casos de dos bits, 0 no detectados y 0 mal corregidos; 35 840 casos de tres bits, todos los 35 840 "corregidos" erróneamente tasa: 11 bits de mensaje por cada 16 enviados = 68.75 %; Hamming(7,4) 57.1 %, Hamming(31,26) 83.9 %, Hamming(63,57) 90.5 % - los bloques más largos son un seguro más barato y pierden más con un segundo error


