Conversor de BCD para binário
Este conversor de BCD para binário decodifica um valor decimal codificado em binário 8421 empacotado e fornece sua forma decimal conhecida e sua representação comum em base dois.
Executar grátis
Ele verifica a entrada nibble por nibble, portanto sinaliza os grupos de 1010 a 1111 como inválidos. Separadores legíveis e o prefixo opcional 0b são aceitos, enquanto resultados em texto preservam exatamente valores muito grandes.
Entenda o que o BCD empacotado representa
O decimal codificado em binário 8421 empacotado não representa um inteiro da mesma forma que o binário comum. Em BCD, cada algarismo decimal recebe seu próprio nibble de quatro bits: 2 vira 0010, 5 vira 0101 e 9 vira 1001. Assim, o número decimal 259 é escrito como 0010 0101 1001. Se você interpretar toda essa sequência como um único número em base dois, obterá outro valor, pois o binário normal aplica potências de dois à palavra completa, em vez de reiniciar os pesos 8-4-2-1 em cada algarismo decimal. O conversor executa as duas etapas necessárias: valida e decodifica cada nibble para recuperar os algarismos decimais e depois transforma o inteiro exato em binário comum. A resposta inclui o BCD normalizado, o resultado decimal, o resultado binário e a quantidade de dígitos BCD, deixando cada etapa visível para aulas, verificações de circuitos e testes automatizados.
Informe e valide os grupos de bits
Forneça um ou mais grupos completos de quatro bits no campo bcd. Você pode escrever os bits continuamente, separar nibbles com espaços, sublinhados ou hífens e iniciar o valor com 0b, se desejar. Os separadores são removidos antes da validação; portanto, 0010 0101 1001 e 0b0010_0101_1001 descrevem o mesmo valor empacotado. Cada caractere restante deve ser zero ou um, e a contagem total de bits deve ser divisível por quatro. Cada nibble também precisa estar entre 0000 e 1001. Os padrões de 1010 a 1111 existem como valores binários, mas não são algarismos decimais válidos no BCD 8421; o conversor os rejeita e informa a posição. Zeros iniciais são aceitos e mantidos no campo BCD normalizado, enquanto as saídas decimal e binária são canônicas. Por exemplo, BCD 0000 0101 resulta em decimal 5 e binário 101, preservando a codificação original de dois nibbles no resultado bcd.
Use resultados exatos em fluxos de aritmética digital
Os resultados decimal e binário são retornados como texto de propósito. Registradores de mostradores, dispositivos financeiros, contadores e vetores de teste podem ter mais algarismos do que um Number do JavaScript consegue representar exatamente. Uma conversão por ponto flutuante poderia arredondar um identificador ou uma medição antes da próxima etapa. Esta implementação monta diretamente a sequência decimal, converte com aritmética inteira exata e opera até o limite publicado sem rede, aleatoriedade ou dependência de horário. Isso torna chamadas repetidas determinísticas e seguras para comparação em testes golden. Em um fluxo de hardware, use bcd para confirmar o recebido, decimal nos registros destinados a operadores e binary em unidades aritméticas ou no dimensionamento de registradores. A ferramenta decodifica somente BCD 8421 empacotado sem sinal; ela não infere nibbles de sinal, caracteres desempacotados, código excesso-3, decimal densamente empacotado ou bits específicos de fabricantes.
Casos de uso
Verificar um despejo de registrador BCD
Decodifique bits agrupados em decimal para inspeção e em binário comum para cálculos posteriores.
Validar exercícios de lógica digital
Confirme se cada nibble BCD proposto é válido e compare o valor decodificado com sua forma em base dois.
Normalizar vetores de teste
Transforme amostras BCD legíveis com separadores em textos estáveis decimal, binário e BCD compacto.
Perguntas frequentes
Quanto custa uma conversão?
Cada item da API custa US$ 0,002; a versão no navegador pode ser executada localmente de graça.
Por que BCD é diferente do binário comum?
O BCD codifica cada algarismo decimal separadamente em quatro bits; o binário comum aplica potências de dois ao valor inteiro.
Qual formato BCD é aceito?
O conversor aceita BCD 8421 empacotado sem sinal, com um algarismo decimal por nibble de quatro bits.
Por que 1010 a 1111 são rejeitados?
Esses nibbles representam de 10 a 15 em binário, mas um nibble BCD só pode representar algarismos de 0 a 9.
Posso incluir espaços ou o prefixo 0b?
Sim. Espaços, sublinhados, hífens e um prefixo 0b inicial são aceitos e removidos na normalização.
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/elec/bcd-to-binary \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"bcd":"0010 0101 1001"}'const res = await fetch("https://api.kit.forhosting.com/elec/bcd-to-binary", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"bcd": "0010 0101 1001"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/elec/bcd-to-binary",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"bcd": "0010 0101 1001"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/elec/bcd-to-binary", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"bcd":"0010 0101 1001"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"bcd":"0010 0101 1001"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/elec/bcd-to-binary", 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
{
"bcd": "0010 0101 1001"
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "elec.bcd_to_binary",
"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.
Limites
max_digits | 256 |
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. |