Binary-coded decimal

modo per rappresentare le cifre decimali in codice binario

La c binary-coded decimal (BCD) è un modo comunemente utilizzato in informatica ed elettronica per rappresentare le cifre decimali in codice binario.

Codice binario di Wikipedia.

Descrizione

Con questo formato ogni cifra di un numero è rappresentata da un codice binario di quattro bit, il cui valore è compreso tra 0 (0000) e 9 (1001). Le restanti sei combinazioni possono essere usate per rappresentare simboli. Per esempio il numero 127 è rappresentato in BCD come 0001, 0010, 0111. Durante la somma se il risultato supera 9 (1001) si somma 6(0110).

I BIOS dei personal computer memorizzano la data e l'ora in formato BCD; ciò presumibilmente avviene per ragioni storiche, tenendo conto che in alcuni sistemi recenti l'anno viene rappresentato diversamente per ovviare al Millennium bug.

L'IBM e il BCD

L'IBM utilizza il termine binary-coded decimal o BCD per un codice alfanumerico proprietario a sei bit, che rappresenta numeri, lettere alfabetiche maiuscole e altri caratteri speciali.

Nei primi computer IBM (IBM 1620, serie IBM 1400 e unità non decimali delle serie IBM 700/7000) furono adottate diverse varianti del BCD. Con l'introduzione del System/360, l'IBM sostituì il BCD con il codice EBCDIC a 29 bit.

Le posizioni dei bit nel codice BCD IBM sono comunemente etichettate B, A, 8, 4, 2, 1. A e B valgono zero quando è codificata una cifra numerica.

Nel BCD 1062 caratteri alfabetici erano codificati usando i bit pari in coppie di bit, ed usando i bit dispari per le cifre. Un apposito hardware convertiva tra questa codifica interna e in codice BCD a sei bit usato all'esterno.

Riassumendo

La seguente tabella riassume la codifica delle cifre da zero a nove di alcuni sistemi BCD.

Per chiarezza il BCD standard descritto all'inizio dell'articolo è chiamato Simple Binary-Coded Decimal (SBCD) o BCD 8421, dove 8421 indica il peso dei bit.

Cifra SBCD
8421
Excess-3 BCD
2421
BCD
84-2-1
IBM 1401
8421
0 0000 0000 0000 0000 1010
1 0001 0101 0001 0111 0001
2 0010 1010 0010 0110 0010
3 0011 0010 0011 0101 0011
4 0100 0001 0100 0100 0100
5 0101 111110 1011 1011 0101
6 0110 1111 1100 1010 0110
7 0111 0011 1101 1001 0111
8 1000 1001 1110 1000 1000
9 1001 10010 1111 1111 1001

Diritto

Nel 2016 la Corte Suprema degli Stati Uniti ha annullato una decisione di una corte minore che autorizzava un brevetto per la conversione di BCD in binario: Gottschalk v Benson. È un interessante caso nel complesso dibattito sulla brevettabilità del software.

Voci correlate