Calculadora de distancia de Hamming
Escribe dos cadenas de la misma longitud, dos códigos binarios o dos números. La calculadora cuenta las posiciones en que difieren, las enumera y da la proporción de posiciones que coinciden. Los números se comparan bit a bit con XOR.
Funciona en tu navegador: nada de lo que escribes se envía a ningún sitio.
Cómo usarla
- Elige qué comparar: texto, cadenas binarias, enteros o valores hex.
- Escribe los dos valores. El texto y las cadenas binarias deben tener la misma longitud; los espacios dentro de las cadenas binarias se ignoran.
- Lee la distancia, la similitud (posiciones iguales ÷ longitud) y la lista de posiciones distintas.
Cómo funciona
En las cadenas se comparan los caracteres de cada posición y se cuentan las diferencias. En los números se hace un XOR y se cuentan los bits a 1 del resultado, que es lo mismo que comparar su forma binaria bit a bit.
Similitud = (longitud − distancia) ÷ longitud.
Ejemplo resuelto
«karolin» y «kathrin», de 7 caracteres:
| Posición |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
| karolin |
k |
a |
r |
o |
l |
i |
n |
| kathrin |
k |
a |
t |
h |
r |
i |
n |
Difieren las posiciones 3 4 5, así que la distancia es 3, coinciden 4 posiciones y la similitud es 57,14 %.
Con códigos binarios, 1011101 y 1001001 difieren en las posiciones 3 y 5: distancia 2.
Consejos
- Primero, la misma longitud. Si no coincide, la calculadora lo indica en lugar de adivinar cómo alinearlas.
- Códigos correctores: la menor distancia entre dos palabras del código dice cuántos errores de bit puede detectar y corregir.
- Hashes de imágenes: dos hashes perceptuales de 64 bits con poca distancia suelen ser fotos casi idénticas; pégalos en modo hex.
Preguntas frecuentes
¿Qué es la distancia de Hamming?
Es el número de posiciones en que difieren dos secuencias de la misma longitud. «karolin» y «kathrin» difieren en la 3.ª, 4.ª y 5.ª letra, así que su distancia es 3. Solo cuenta sustituciones, nunca inserciones ni borrados.
¿Y si las cadenas tienen distinta longitud?
En ese caso la distancia de Hamming no está definida. Rellena la más corta si tiene sentido para tus datos o usa la distancia de Levenshtein, que admite inserciones y borrados; la calcula la herramienta de similitud de textos de este sitio.
¿Cómo se calcula entre dos números?
Se comparan bit a bit: la distancia es el número de bits a 1 en a XOR b. 5 es 101 y 3 es 011; su XOR es 110, así que la distancia es 2. El número más corto se completa con ceros a la izquierda.
¿Dónde se usa la distancia de Hamming?
En códigos detectores y correctores de errores (un código con distancia mínima d detecta d − 1 errores de bit y corrige ⌊(d − 1)/2⌋), al comparar hashes perceptuales de imágenes, en genética con secuencias de ADN de igual longitud y en búsquedas de vecinos sobre vectores binarios.
¿Distingue mayúsculas y minúsculas?
Sí, A y a son caracteres distintos. Cada carácter Unicode completo cuenta como una posición, así que un emoji o una letra con tilde ocupa una sola.