Convertitore BCD in binario
Questo convertitore da BCD a binario decodifica un valore decimale codificato in binario 8421 compattato e restituisce sia la consueta forma decimale sia la rappresentazione ordinaria in base due.
Esegui gratis nel browser
Controlla l'input nibble per nibble, quindi segnala come non validi i gruppi da 1010 a 1111. Accetta separatori leggibili e il prefisso facoltativo 0b, mentre i risultati testuali conservano esattamente anche valori molto grandi.
Comprenda che cosa rappresenta il BCD compattato
Il decimale codificato in binario 8421 compattato non rappresenta un intero come il binario ordinario. Nel BCD, ogni cifra decimale occupa un proprio nibble di quattro bit: 2 diventa 0010, 5 diventa 0101 e 9 diventa 1001. Di conseguenza, il numero decimale 259 si scrive 0010 0101 1001. Se Lei interpretasse l'intera sequenza come un unico numero in base due, otterrebbe un valore diverso, perché il binario normale applica le potenze di due all'intera parola anziché ricominciare i pesi 8-4-2-1 per ogni cifra decimale. Il convertitore esegue le due fasi necessarie: prima convalida e decodifica ogni nibble per ricostruire la sequenza di cifre decimali, poi trasforma l'intero esatto nel normale binario. La risposta comprende il BCD normalizzato, il risultato decimale, quello binario e il numero di cifre BCD, rendendo ogni fase verificabile nelle lezioni, nei controlli dei circuiti e nei test automatizzati.
Inserisca e convalidi i gruppi di bit
Inserisca uno o più gruppi completi di quattro bit nel campo bcd. Può scrivere i bit senza interruzioni, separare i nibble con spazi, trattini bassi o trattini e anteporre facoltativamente 0b. I separatori vengono rimossi prima della convalida, quindi 0010 0101 1001 e 0b0010_0101_1001 descrivono lo stesso valore compattato. Ogni carattere rimanente deve essere zero o uno e il numero totale di bit deve essere divisibile per quattro. Inoltre, ogni nibble deve rientrare fra 0000 e 1001. I modelli da 1010 a 1111 esistono come valori binari, ma non sono cifre decimali ammesse nel BCD 8421; il convertitore li rifiuta indicando la posizione precisa. Gli zeri iniziali sono accettati e mantenuti nel campo BCD normalizzato, mentre gli output decimale e binario vengono resi canonici. Per esempio, BCD 0000 0101 produce il decimale 5 e il binario 101 senza perdere la codifica originale su due nibble nel risultato bcd.
Usi risultati esatti nei flussi di aritmetica digitale
I risultati decimale e binario vengono restituiti intenzionalmente come stringhe. Registri per display, dispositivi finanziari, contatori e vettori di test possono contenere più cifre di quante un Number JavaScript riesca a rappresentare esattamente. Una conversione in virgola mobile potrebbe arrotondare un identificatore o una misura prima della fase successiva. Questa implementazione costruisce direttamente la sequenza decimale, la converte con aritmetica intera esatta e opera entro il limite pubblicato senza rete, casualità o dipendenza dall'ora. Le chiamate ripetute sono quindi deterministiche e confrontabili in un test golden. In un flusso hardware, usi bcd per confermare ciò che è stato ricevuto, decimal per i registri destinati agli operatori e binary per le unità aritmetiche o il dimensionamento dei registri. Lo strumento decodifica soltanto BCD 8421 compattato senza segno; non interpreta nibble di segno, caratteri non compattati, codice eccesso-3, decimale densamente compattato o bit specifici del produttore.
Casi d'uso
Controllare il dump di un registro BCD
Decodifichi i bit raggruppati in decimale per l'ispezione e in binario ordinario per i calcoli successivi.
Convalidare esercizi di logica digitale
Verifichi che ogni nibble BCD proposto sia valido e confronti il valore decodificato con la forma in base due.
Normalizzare vettori di test
Trasformi esempi BCD leggibili con separatori in stringhe stabili decimali, binarie e BCD compatte.
Domande frequenti
Quanto costa una conversione?
Ogni elemento API costa $0.002; la versione nel browser può essere eseguita localmente senza costi.
Perché il BCD è diverso dal binario ordinario?
Il BCD codifica separatamente ogni cifra decimale in quattro bit, mentre il binario ordinario applica le potenze di due all'intero valore.
Quale formato BCD è supportato?
Il convertitore supporta BCD 8421 compattato senza segno, con una cifra decimale per ogni nibble di quattro bit.
Perché i valori da 1010 a 1111 vengono rifiutati?
Questi nibble rappresentano da 10 a 15 in binario, ma un nibble BCD può contenere soltanto cifre decimali da 0 a 9.
Posso includere spazi o il prefisso 0b?
Sì. Sono accettati spazi, trattini bassi, trattini e un prefisso iniziale 0b, poi rimossi durante la normalizzazione.
Per sviluppatori — accesso via API
Tutto quello che vedi in questa pagina è disponibile anche via API. Questa sezione è per i team che vogliono integrarlo nei propri sistemi; chi non ne ha bisogno può semplicemente usare lo strumento qui sopra.
Endpoint
Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.
Chiamala dal tuo stack
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)Esempio di richiesta
{
"bcd": "0010 0101 1001"
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "elec.bcd_to_binary",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L'API è asincrona: ricevi subito un task_id e puoi fare polling fino a 1 richiesta al secondo.
Prezzi
Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.
Limiti
max_digits | 256 |
Errori
| HTTP | Codice | Significato |
|---|---|---|
401 | unauthorized | Chiave API mancante o non valida: controlla l'header Authorization. |
402 | insufficient_balance | Credito esaurito: ricarica per continuare a eseguire attività. |
404 | unknown_type | Tipo di attività sconosciuto: controlla il campo type della richiesta. |
429 | rate_limited | Troppe richieste in poco tempo: rallenta e riprova tra qualche secondo. |