Calculadora de código Hamming
La palabra de datos 1011 se codifica como 0110011: tres bits de paridad par van en las posiciones 1, 2 y 4, y sus cuatro bits ocupan las posiciones 3, 5, 6 y 7. Útil para corregir ejercicios o dibujar el esquema de cobertura. Gratis en su navegador.
- Gratis
- Funciona en su navegador
- Sin registro
- Sus datos no salen de su equipo
Ejecutar — gratis
Ejemplo resuelto
- Datos
- 1011
- Codificado
- 0110011
- P1
- 0
- P2
- 1
- P4
- 0
El código Hamming(7,4) es el primer código binario de corrección de un solo error que la mayoría de ingenieros y estudiantes implementan de verdad: cuatro bits de información se convierten en una palabra de siete bits tras insertar tres bits de paridad par en las posiciones potencia de dos. Esta calculadora de código Hamming toma una palabra de datos de cuatro bits, coloca esos bits en las posiciones tres, cinco, seis y siete, calcula p1, p2 y p4 a partir de los conjuntos de cobertura del manual, y devuelve la palabra codificada de siete bits junto con cada bit de paridad. El contrato es estricto.
Cómo Hamming(7,4) sitúa los bits de datos y calcula la paridad
Un codificador Hamming(7,4) proyecta una palabra de datos de cuatro bits sobre una palabra código de siete bits que más tarde permite a un decodificador localizar cualquier bit invertido a partir de un síndrome de tres bits. Las posiciones de la palabra transmitida se numeran del uno al siete. Los bits de paridad ocupan las potencias de dos: la posición uno es p1, la dos es p2 y la cuatro es p4.
Los cuatro bits de datos rellenan el resto en orden, de modo que la posición tres es el primer bit de datos d1, la cinco es d2, la seis es d3 y la siete es d4. La palabra codificada es la concatenación p1, p2, d1, p4, d2, d3, d4. El vector de aula 1011 produce por tanto p1 igual a cero, p2 igual a uno, p4 igual a cero y la cadena de siete bits 0110011.
La palabra de datos todo ceros se codifica como 0000000, y la de todos unos 1111 se codifica como 1111111, útiles como referencias de prueba. Esta capacidad solo codifica; no descodifica una palabra de siete bits recibida, no calcula un síndrome ni corrige un error.
Contrato de entrada, campos de respuesta y palabras de cuatro bits inválidas
Antes de validar, el manejador elimina espacios, guiones bajos, dos puntos, guiones y comas, de modo que un nibble espaciado como 1 0 1 1 se acepta como 1011. Esas fallas no se facturan.
En éxito el cuerpo repite la cadena de datos de cuatro bits normalizada, devuelve encoded como la palabra código Hamming de siete bits, informa los tres bits de paridad p1, p2 y p4 y los cuatro bits de datos colocados d1 a d4 como enteros cero o uno, lista positions como un arreglo de siete elementos en orden de índice de la posición uno a la siete, e incluye layout como el mnemónico p1 p2 d1 p4 d2 d3 d4 más parity fijado a even para que los clientes muestren la convención sin adivinar.
Mantenga la petición pequeña: cuatro bits de carga, un puñado de operaciones XOR, sin red y sin aleatoriedad, de modo que los ejemplos de referencia se comparen byte a byte entre entornos de ejecución.
Dónde un codificador Hamming(7,4) justifica su valor
Los cursos de ingeniería informática usan una calculadora de código Hamming para que el alumnado compruebe la palabra de siete bits de cualquier deber de cuatro bits sin confundir qué posiciones son de paridad. Las plataformas de entrevista y examen necesitan un oráculo determinista que rechace una cadena de tres o cinco bits en lugar de rellenar en silencio, porque el relleno marcaría como correcta una respuesta de estudiante equivocada. La validación fallida no consume saldo.
Mantenga las peticiones pequeñas, trate encoded como el resultado primario copiable y use p1, p2 y p4 cuando dibuje el diagrama de cobertura para una diapositiva. Esta herramienta no sustituye una biblioteca ECC general: es el codificador Hamming(7,4) que estudiantes y pruebas buscan de verdad, no un constructor Hamming de longitud variable ni un decodificador.
Qué puede hacer con ella
Ejercicios de aula Hamming(7,4)
Permita que el alumnado envíe una palabra de datos de cuatro bits y compare encoded, p1, p2 y p4 con la colocación de paridad par del libro en las posiciones uno, dos y cuatro.
Oráculos de examen y entrevista
Califique ítems de código Hamming con un codificador determinista que rechace cualquier cadena que no sea exactamente cuatro dígitos binarios en lugar de rellenar en silencio.
Preguntas frecuentes
¿Cómo se codifican cuatro bits con el código Hamming(7,4)?
Envíe data como una cadena de exactamente cuatro dígitos binarios, por ejemplo 1011.
¿Qué ocurre si la entrada no tiene exactamente cuatro dígitos binarios?
Se rechazan fragmentos de tres bits, desbordes de cinco bits, cadenas vacías y caracteres no binarios, y no se facturan.
¿Qué convención de paridad usa este código Hamming?
Paridad par, la convención Hamming(7,4) de libro. p1, p2 y p4 se eligen para que cada conjunto de cobertura contenga un número par de unos. El campo de respuesta parity es siempre even.
¿Dónde se colocan los bits de paridad en la palabra de siete bits?
En las posiciones potencia de dos: p1 en la posición uno, p2 en la dos, p4 en la cuatro. Los bits de datos ocupan las posiciones tres, cinco, seis y siete, así que el layout es p1 p2 d1 p4 d2 d3 d4.
¿Cómo se calcula cada bit de paridad?
Cada bit de paridad hace que su grupo de posiciones tenga un número par de unos. p1 vigila las posiciones 1, 3, 5 y 7; p2, las posiciones 2, 3, 6 y 7; y p4, las posiciones 4, 5, 6 y 7.
Herramientas relacionadas
Para desarrolladores — acceso por API
Todo lo de esta página está disponible por programación. Esta sección es para equipos que quieren integrarlo en sus sistemas; el resto puede usar la herramienta de arriba sin más.
Endpoint de API
¿Prefiere automatizarlo? Un POST autenticado crea la tarea; el resultado llega por webhook o enlace firmado. La misma capacidad también se ejecuta aquí en la web, por email y desde Telegram — y pronto también desde nuestra app.
Llámela desde su stack
curl -X POST https://api.kit.forhosting.com/enc/hamming-code \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"data":"1011"}'const res = await fetch("https://api.kit.forhosting.com/enc/hamming-code", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"data": "1011"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/enc/hamming-code",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"data": "1011"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/enc/hamming-code", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"data":"1011"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"data":"1011"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/enc/hamming-code", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Ejemplo de solicitud
{
"data": "1011"
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.hamming_code",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}La API es asíncrona: la llamada devuelve un task_id al instante y el resultado llega por webhook. El polling está limitado a 1 req/s por tarea.
Precio
Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.
Errores
| HTTP | Código | Significado |
|---|---|---|
401 | unauthorized | API key ausente o inválida. |
402 | insufficient_balance | El saldo no cubre el precio de la tarea. |
404 | unknown_type | El tipo de tarea no existe. |
429 | rate_limited | Demasiadas peticiones. Use el webhook en vez de sondear. |
Notas técnicas
Tras eliminar espacios, guiones bajos, dos puntos, guiones y comas opcionales, la entrada debe ser exactamente cuatro caracteres del conjunto cero y uno; cualquier otra longitud o un carácter no binario falla con invalid_input y no se factura.
Cómo Hamming(7,4) sitúa los bits de datos y calcula la paridad
Este endpoint usa paridad par, la convención de toda lección Hamming(7,4) de libro. p1 se elige para que las posiciones uno, tres, cinco y siete contengan un número par de unos, lo que significa que p1 es igual a d1 XOR d2 XOR d4. p2 cubre las posiciones dos, tres, seis y siete, así que p2 es igual a d1 XOR d3 XOR d4. p4 cubre las posiciones cuatro, cinco, seis y siete, así que p4 es igual a d2 XOR d3 XOR d4.
Contrato de entrada, campos de respuesta y palabras de cuatro bits inválidas
Envíe por POST un cuerpo JSON con un campo obligatorio llamado data: una cadena de exactamente cuatro dígitos binarios. Las claves alias bits, word, text, value e input se aceptan cuando se omite data, y se resuelven en ese orden. Tras la limpieza, los caracteres restantes deben ser exactamente cuatro símbolos del conjunto cero y uno; un campo ausente, una cadena vacía, un fragmento de tres bits, un desborde de cinco bits y cualquier letra o dígito distinto de cero y uno fallan con invalid_input que nombra el campo data. Combine la cadena encoded con su propio decodificador si necesita un síndrome; este endpoint no invierte bits ni indica qué posición falló.
Dónde un codificador Hamming(7,4) justifica su valor
Como la implementación es parse puro de nivel A, cada llamada exitosa cuesta el precio base publicado $0.002 sin tokens de modelo ni red saliente.
Casos de integración
Pruebas unitarias ECC de firmware
Fije vectores Hamming(7,4) como 1011 que se codifica en 0110011 en CI antes de cablear un bloque Hamming o SECDED mayor en el firmware de memoria.
Preguntas técnicas
¿Cuánto cuesta la calculadora de código Hamming?
La herramienta en el navegador es gratuita. Las peticiones API usan saldo prepago KIT a $0.002 por llamada exitosa; la entrada inválida no se factura.