Binary-coded decimal: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
Nessun oggetto della modifica Etichetta: Possibile modifica di prova o impropria |
m Eliminato il grassetto da varie parole |
||
(24 versioni intermedie di 14 utenti non mostrate) | |||
Riga 1:
{{F|elettronica|arg2=informatica|ottobre 2017}}
La [[codifica]] '''binary-coded decimal''' ('''BCD''') è un modo comunemente utilizzato in [[informatica]] ed [[elettronica]] per rappresentare le cifre decimali in [[sistema numerico binario|codice binario]].▼
[[File:Wikipedia in binary.gif|thumb|upright=1.2|Codice binario di Wikipedia.]]
▲La [[codifica]] '''binary-coded decimal''' ('''BCD''') è un modo comunemente utilizzato in [[informatica]] ed [[elettronica]] per rappresentare le cifre decimali in [[sistema numerico binario|codice binario]], che sfrutta in parte la convertibilità da [[base 2]] a [[base 16]].
In 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.▼
▲In questo formato, ogni cifra di un numero decimale è rappresentata come per un numero a base 16 da un codice binario di quattro [[bit]], il
Per esempio il numero 127 è rappresentato in BCD come 0001, 0010, 0111.
Sebbene il BCD comporti un notevole spreco di bit (circa 1/6 di memoria inutilizzata in packed BCD), in alcuni casi è preferibile perché ha una diretta corrispondenza con il codice [[ASCII]]. È sufficiente infatti
Poiché i computer memorizzano i dati in [[byte]] di otto bit, con tale codifica è possibile memorizzare una cifra per byte e riempire i restanti quattro bit con zeri o uno (come nel codice [[EBCDIC]]), oppure mettere due cifre per byte, modalità chiamata ''packed BCD''.▼
I numeri packed BCD normalmente terminano con un codice di segno, solitamente 1100 per il + e 1101 per il meno.▼
Il numero 127 si rappresenta 11110001, 11110010, 11110111 in EBCDIC e 00010010, 01111100 in packed BCD.▼
Nell'addizione, se il risultato supera 9 (1001), si somma 6(0110) cioè la quantità di codifiche inutilizzate (da 1010 a 1111).
▲Sebbene il BCD comporti un notevole spreco di bit (circa 1/6 di memoria inutilizzata in packed BCD), in alcuni casi è preferibile perché ha una diretta corrispondenza con il codice [[ASCII]]. È sufficiente infatti sostituire i primi quattro bit inutilizzati con 0011 per ottenere il corrispondente ASCII.
▲Poiché i computer memorizzano i dati in [[byte]], di otto bit, con tale codifica è possibile memorizzare una cifra per byte e riempire i restanti quattro bit iniziali con zeri o uno (come nel codice [[EBCDIC]]), oppure mettere due cifre per byte, modalità chiamata ''packed BCD''.
Il codice BCD è molto usato in elettronica, specialmente in circuiti digitali privi di [[microprocessore]], perché facilita la visualizzazione di lunghe cifre su [[display a sette segmenti]], infatti ad ogni display fisico corrisponde esattamente una cifra. Esistono appositi [[Circuito integrato|circuiti integrati]] che effettuano la conversione da BCD nella corrispondente sequenza di accensione dei segmenti. Anche l'esecuzione di semplici calcoli aritmetici è più semplice da effettuarsi su cifre BCD per circuiti logici combinatori.▼
▲I numeri in notazione packed BCD normalmente terminano con un codice di segno, solitamente 1100 per il + e 1101 per il meno.
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]]''.▼
▲Il numero 127 si rappresenta 11110001, 11110010, 11110111 in EBCDIC e 00010010, 01111100 in packed BCD.
▲Il codice BCD è molto usato in elettronica, specialmente in circuiti digitali privi di [[microprocessore]], perché facilita la visualizzazione di lunghe cifre
▲I [[BIOS]] dei [[personal computer]] memorizzano la data e l'ora in
== L'IBM e il BCD ==
L'[[IBM]] utilizza il termine
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 [[IBM System/360|System/360]], l'IBM sostituì il BCD con il codice EBCDIC a otto bit.
Line 28 ⟶ 33:
La seguente tabella riassume la codifica delle cifre da zero a nove di alcuni sistemi BCD.
Per chiarezza il BCD standard
{| class="wikitable"
!Cifra!!SBCD<br />8421!!Excess-3!!BCD<br />2421!!BCD<br />84-2-1!!IBM 1401<br />8421
|-
Line 58 ⟶ 60:
== Diritto ==
Nel [[1972]] 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
== Note ==
<references />
== Voci correlate ==
Line 65 ⟶ 69:
* [[Charset]]
* [[Codice Gray]]
== Altri progetti ==
{{interprogetto|preposizione=sul}}
== Collegamenti esterni ==
* {{Collegamenti esterni}}
* {{FOLDOC||binary coded decimal}}
* {{Garzanti|BCD}}
{{Portale|informatica}}
[[Categoria:Repertori di caratteri]]
|