Calculadora bits de paridad Hamming ECC
Calcule cuántos bits de paridad necesita como mínimo un código Hamming: 4 bits de datos necesitan 3, lo que da el clásico código (7,4) sin síndromes libres. También verá la longitud total y la tasa del código. Gratis en su navegador.
- Gratis
- Funciona en su navegador
- Sin registro
- Sus datos no salen de su equipo
Ejecutar — gratis
Ejemplo resuelto
- Bits de datos
- 4
- Bits de paridad
- 3
- Bits totales
- 7
- Capacidad de cobertura
- 8
- Posiciones usadas
- 8
Los códigos binarios de Hamming protegen palabras de memoria, páginas flash y tramas de enlace añadiendo unos pocos bits de paridad para que cualquier bit invertido pueda localizarse y corregirse a partir del síndrome. La primera pregunta de diseño es cuántos bits de paridad r necesita usted para un número dado de bits de datos m. Esta calculadora de bits de paridad Hamming ECC responde con la desigualdad clásica de cubrimiento: dos elevado a r debe ser al menos m más r más uno, de modo que los 2^r síndromes distintos codifiquen el caso sin error y cada error de un solo bit entre los n igual a m más r bits codificados.
Por qué 2^r debe cubrir m + r + 1 patrones
Un código Hamming binario de corrección de un solo error de longitud n igual a m más r almacena m bits de información y r bits de paridad. Tras la transmisión o el almacenamiento, el decodificador calcula un síndrome de r bits. El síndrome cero significa que la palabra recibida coincide con una palabra código (sin error de un bit detectado).
Cualquier otro síndrome distinto de cero debe señalar exactamente una de las n posiciones de bit que podrían haberse invertido, para que el decodificador invierta ese bit y restaure la palabra original. Ese inventario necesita un patrón para el caso limpio y n patrones para los casos de error simple, es decir n más uno igual a m más r más uno valores de síndrome distintos.
Como un síndrome de r bits solo tiene dos elevado a r valores posibles, la desigualdad dos a la r mayor o igual que m más r más uno es necesaria. Cuando hay igualdad el código es perfecto: se usa cada síndrome y no queda capacidad sobrante para detectar errores dobles sin un bit de paridad global adicional.
Ejemplos clásicos son el código (7,4) con m igual a cuatro y r igual a tres (ocho síndromes para siete posiciones más limpio), y el (15,11) con m igual a once y r igual a cuatro. Esta calculadora halla el menor r que cumple la desigualdad para cualquier m legal, de modo que usted no tenga que probar el límite a mano al dimensionar un registro, una página de metadatos ECC DRAM o una respuesta de examen.
Dónde el dimensionado de paridad Hamming aporta valor
Los equipos de firmware y controladores de memoria usan una calculadora de bits de paridad Hamming ECC cuando deben saber cuántos bits de control cuelgan de un camino de datos antes de congelar un mapa de registros o un diseño de área de repuesto flash. Los cursos de arquitectura de computadores y teoría de la codificación necesitan un oráculo determinista para deberes que piden el menor r dado m, incluidas longitudes no perfectas donde quedan síndromes de sobra.
La preparación de entrevistas se beneficia de comprobaciones instantáneas de que cuatro bits de datos necesitan tres de paridad y once necesitan cuatro, sin dibujar cada vez la matriz de control de paridad completa. Diseñadores de capa de enlace y almacenamiento comparan la tasa m sobre n entre anchos de palabra candidatos para equilibrar sobrecoste de fiabilidad y ancho de banda. La validación fallida no consume saldo.
Qué puede hacer con ella
Diseño ECC de memoria y flash
Dimensione cuántos bits de paridad Hamming cuelgan de una palabra o página de datos antes de fijar el mapa de registros, el área de repuesto o el presupuesto de microcódigo del controlador.
Deberes y exámenes de teoría de códigos
Compruebe el r mínimo para cualquier m bajo 2^r ≥ m+r+1, incluidos los casos perfectos (7,4) y (15,11) y longitudes no perfectas con síndromes sobrantes.
Entrevistas y compromisos de diseño
Compare la longitud total n y la tasa m/n entre anchos de datos candidatos al explicar el sobrecoste Hamming de corrección de un solo error.
Preguntas frecuentes
¿Cuántos bits de paridad necesita un código Hamming para m bits de datos?
El menor entero r tal que 2^r ≥ m + r + 1.
¿Por qué la desigualdad es 2^r ≥ m + r + 1?
Un síndrome de r bits tiene 2^r valores: uno sin error y uno por posición de bit codificado que pueda invertirse. Hacen falta m+r+1 patrones, así que 2^r debe cubrirlos.
¿Incluye la paridad global del Hamming extendido (SECDED)?
No. Esta calculadora devuelve el r mínimo solo para corrección de un error simple Hamming binario. El SECDED extendido añade un bit de paridad global extra sobre ese r.
¿Cuántos bits de paridad necesitan 11 bits de datos?
Cuatro. Dos elevado a cuatro cubre exactamente 11 bits de datos, más 4 de paridad, más el caso sin error. Es el clásico código Hamming (15,11), que usa todos los síndromes sin que sobre ninguno.
¿Qué hace que un código Hamming sea perfecto?
Que se usan todos los síndromes: uno para el caso sin error y uno para cada posición de bit. Los códigos (7,4) y (15,11) son perfectos, así que no les queda margen para detectar también errores dobles sin un bit de paridad global adicional.
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/dev/ecc-parity-bits \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"data_bits":4}'const res = await fetch("https://api.kit.forhosting.com/dev/ecc-parity-bits", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"data_bits": 4
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/dev/ecc-parity-bits",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"data_bits": 4
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/dev/ecc-parity-bits", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"data_bits":4}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"data_bits":4}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/dev/ecc-parity-bits", 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_bits": 4
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "dev.ecc_parity_bits",
"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
Introduzca m como entero positivo; el endpoint devuelve el r mínimo, la longitud total del código n, la capacidad de cubrimiento, cuántos patrones de síndrome se usan frente a los de sobra, y la tasa de código m sobre n. La entrada inválida falla con invalid_input y no se factura.
Contrato de entrada, campos de respuesta y números resueltos
Envíe por POST un cuerpo JSON con un campo obligatorio: data_bits, un entero de uno a un millón inclusive. Los valores pueden llegar como enteros JSON o cadenas numéricas; campos ausentes, no enteros, cero, negativos, no finitos y valores por encima del máximo documentado fallan con invalid_input indicando el problema. En éxito el cuerpo repite data_bits como m y devuelve parity_bits como el r mínimo, total_bits como n igual a m más r, covering_capacity como dos a la r, positions_used como n más uno (síndrome limpio más un patrón por bit codificado), spare_syndromes como covering_capacity menos positions_used, code_rate como m dividido por n redondeado a doce decimales para goldens estables, más cadenas inequality e inequality_satisfied que reformulan la comprobación de cubrimiento con los números concretos, y un campo formula breve. Ejemplo: data_bits cuatro produce parity_bits tres, total_bits siete, covering_capacity ocho, positions_used ocho, spare_syndromes cero y code_rate cerca de cero punto cinco siete uno cuatro—los parámetros del Hamming (7,4) de libro. Ejemplo: data_bits uno produce parity_bits dos y total_bits tres, porque dos a la dos igual a cuatro cubre uno más dos más uno. Ejemplo: data_bits ocho necesita parity_bits cuatro (dieciséis cubre ocho más cuatro más uno igual a trece) con tres síndromes de sobra. Combine las cifras con su propio diagrama de disposición de bits si necesita numeración de posiciones (paridad en potencias de dos); este endpoint solo devuelve las figuras de dimensionado r y n, nunca una carga codificada ni una matriz de bits.
Dónde el dimensionado de paridad Hamming aporta 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. Mantenga data_bits en el rango documentado, fije los enteros en las pruebas y obtendrá dimensionado SEC reproducible para aulas, plugins LMS y workers en el borde sin montar una biblioteca completa de teoría de códigos.
Preguntas técnicas
¿Cuáles son los parámetros para 4 bits de datos?
parity_bits=3, total_bits=7, covering_capacity=8, spare_syndromes=0—el clásico código Hamming perfecto (7,4).
¿Cuánto cuesta la calculadora de bits de paridad Hamming ECC?
La herramienta del navegador es gratuita. Las peticiones API usan saldo prepago KIT a $0.002 por llamada exitosa; la entrada inválida no se factura.