Calculadora de código Hamming
A palavra de dados 1011 vira 0110011: três bits de paridade par entram nas posições 1, 2 e 4, e os seus quatro bits ocupam as posições 3, 5, 6 e 7. Serve para conferir exercícios ou desenhar o esquema de cobertura. Grátis no seu navegador.
- Grátis
- Funciona no seu navegador
- Sem cadastro
- Seus dados não saem do seu aparelho
Executar grátis
Exemplo resolvido
- Dados
- 1011
- Codificado
- 0110011
- P1
- 0
- P2
- 1
- P4
- 0
O código Hamming(7,4) é o primeiro código binário de correção de erro único que a maioria dos engenheiros e estudantes realmente implementa: quatro bits de informação viram uma palavra de sete bits depois que três bits de paridade par são inseridos nas posições potência de dois. Esta calculadora de código Hamming recebe uma palavra de dados de quatro bits, coloca esses bits nas posições três, cinco, seis e sete, calcula p1, p2 e p4 a partir dos conjuntos de cobertura do livro e devolve a palavra codificada de sete bits junto com cada bit de paridade. O contrato é rígido.
Como Hamming(7,4) posiciona os bits de dados e calcula a paridade
Um codificador Hamming(7,4) mapeia uma palavra de dados de quatro bits em uma palavra-código de sete bits que depois permite a um decodificador localizar qualquer bit invertido a partir de um síndrome de três bits. As posições da palavra transmitida são numeradas de um a sete. Os bits de paridade ocupam as potências de dois: a posição um é p1, a dois é p2 e a quatro é p4.
Os quatro bits de dados preenchem o restante em ordem, de modo que a posição três é o primeiro bit de dados d1, a cinco é d2, a seis é d3 e a sete é d4. A palavra codificada é a concatenação p1, p2, d1, p4, d2, d3, d4. O vetor de sala 1011 produz portanto p1 igual a zero, p2 igual a um, p4 igual a zero e a cadeia de sete bits 0110011.
A palavra de dados toda zeros se codifica como 0000000, e a de todos uns 1111 se codifica como 1111111, úteis como referências de teste. Esta capacidade apenas codifica; não decodifica uma palavra de sete bits recebida, não calcula um síndrome nem corrige um erro.
Onde um codificador Hamming(7,4) justifica o valor
Cursos de engenharia da computação usam uma calculadora de código Hamming para que alunos verifiquem a palavra de sete bits de qualquer exercício de quatro bits sem misturar quais posições são de paridade. Autores de firmware embarcado e de armazenamento fixam encoded contra um vetor conhecido como 1011 mapeia para 0110011 em testes unitários antes de ligar um bloco SECDED maior ou um leiaute Hamming(15,11).
Plataformas de entrevista e exame precisam de um oráculo determinístico que rejeite uma cadeia de três ou cinco bits em vez de completar em silêncio, porque o preenchimento marcaria como correta uma resposta de aluno errada. A validação falha não consome saldo. Mantenha as requisições pequenas, trate encoded como o resultado primário copiável e use p1, p2 e p4 ao desenhar o diagrama de cobertura para um slide.
Esta ferramenta não substitui uma biblioteca ECC geral: é o codificador Hamming(7,4) que estudantes e testes realmente buscam, não um construtor Hamming de comprimento variável nem um decodificador.
Casos de uso
Exercícios de sala Hamming(7,4)
Permita que os alunos enviem uma palavra de dados de quatro bits e comparem encoded, p1, p2 e p4 com a colocação de paridade par do livro nas posições um, dois e quatro.
Testes unitários ECC de firmware
Fixe vetores Hamming(7,4) como 1011 que se codifica em 0110011 no CI antes de ligar um bloco Hamming ou SECDED maior no firmware de memória.
Oráculos de exame e entrevista
Avalie itens de código Hamming com um codificador determinístico que rejeita qualquer cadeia que não seja exatamente quatro dígitos binários em vez de completar em silêncio.
Perguntas frequentes
Como codificar quatro bits com o código Hamming(7,4)?
Envie data como uma cadeia de exatamente quatro dígitos binários, por exemplo 1011.
O que acontece se a entrada não tiver exatamente quatro dígitos binários?
Fragmentos de três bits, excessos de cinco bits, cadeias vazias e caracteres não binários são rejeitados e não cobrados.
Qual convenção de paridade este código Hamming usa?
Paridade par, a convenção Hamming(7,4) de livro. p1, p2 e p4 são escolhidos para que cada conjunto de cobertura contenha um número par de uns. O campo de resposta parity é sempre even.
Onde os bits de paridade ficam na palavra de sete bits?
Nas posições potência de dois: p1 na posição um, p2 na dois, p4 na quatro. Os bits de dados ocupam as posições três, cinco, seis e sete, assim o layout é p1 p2 d1 p4 d2 d3 d4.
Esta ferramenta decodifica ou corrige uma palavra de sete bits?
Não. Ela apenas codifica, transformando quatro bits de dados em uma palavra de sete bits. Calcular a síndrome de uma palavra recebida e corrigir um bit trocado é tarefa de um decodificador, que esta ferramenta não faz.
Ferramentas relacionadas
Para desenvolvedores — acesso via API
Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.
Endpoint
Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.
Chame do seu código
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)Exemplo de requisição
{
"data": "1011"
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.hamming_code",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.
Preço
Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.
Erros
| HTTP | Código | O que significa |
|---|---|---|
401 | unauthorized | Token ausente ou inválido. Confira o header Authorization. |
402 | insufficient_balance | Saldo insuficiente para esta tarefa. Faça uma recarga e tente de novo. |
404 | unknown_type | Esse tipo de tarefa não existe. Confira o campo type no catálogo. |
429 | rate_limited | Muitas requisições em pouco tempo. Espere um instante e tente de novo. |
Notas técnicas
Depois de remover espaços, sublinhados, dois-pontos, hífens e vírgulas opcionais, a entrada deve ser exatamente quatro caracteres do conjunto zero e um; qualquer outro comprimento ou um caractere não binário falha com invalid_input e não é cobrado.
Como Hamming(7,4) posiciona os bits de dados e calcula a paridade
Este endpoint usa paridade par, a convenção de toda aula Hamming(7,4) de livro. p1 é escolhido para que as posições um, três, cinco e sete contenham um número par de uns, o que significa que p1 é igual a d1 XOR d2 XOR d4. p2 cobre as posições dois, três, seis e sete, então p2 é igual a d1 XOR d3 XOR d4. p4 cobre as posições quatro, cinco, seis e sete, então p4 é igual a d2 XOR d3 XOR d4.
Contrato de entrada, campos de resposta e palavras de quatro bits inválidas
Antes da validação o manipulador remove espaços, sublinhados, dois-pontos, hífens e vírgulas, de modo que um nibble espaçado como 1 0 1 1 é aceito como 1011. Em sucesso o corpo ecoa a cadeia de dados de quatro bits normalizada, devolve encoded como a palavra-código Hamming de sete bits, informa os três bits de paridade p1, p2 e p4 e os quatro bits de dados colocados d1 a d4 como inteiros zero ou um, lista positions como um arranjo de sete elementos em ordem de índice da posição um à sete, e inclui layout como o mnemônico p1 p2 d1 p4 d2 d3 d4 mais parity fixado em even para que os clientes exibam a convenção sem adivinhar. Mantenha a requisição pequena: quatro bits de carga, um punhado de operações XOR, sem rede e sem aleatoriedade, de modo que os exemplos de referência se comparem byte a byte entre ambientes de execução. Envie por POST um corpo JSON com um campo obrigatório chamado data: uma cadeia de exatamente quatro dígitos binários. As chaves alias bits, word, text, value e input são aceitas quando data é omitido, e são resolvidas nessa ordem. Após a limpeza, os caracteres restantes devem ser exatamente quatro símbolos do conjunto zero e um; um campo ausente, uma cadeia vazia, um fragmento de três bits, um excesso de cinco bits e qualquer letra ou dígito diferente de zero e um falham com invalid_input que nomeia o campo data. Essas falhas não são cobradas. Combine a cadeia encoded com o próprio decodificador se você precisar de um síndrome; este endpoint não inverte bits nem indica qual posição falhou.
Onde um codificador Hamming(7,4) justifica o valor
Como a implementação é parse puro de nível A, cada chamada bem-sucedida custa o preço base publicado US$ 0,002 sem tokens de modelo e sem rede de saída.
Perguntas técnicas
Quanto custa a calculadora de código Hamming?
A ferramenta no navegador é gratuita. As requisições API usam saldo pré-pago KIT a US$ 0,002 por chamada bem-sucedida; a entrada inválida não é cobrada.