Zecimal codat binar

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare
Cod binar Wikipedia.

Codificarea codului binar zecimal (BCD) este o modalitate utilizată în mod obișnuit în calcul și electronică pentru a reprezenta cifrele zecimale în cod binar , care utilizează parțial convertibilitatea de la baza 2 la baza 16 .

În acest format, fiecare cifră a unui număr zecimal este reprezentată ca pentru un număr de bază 16 printr-un cod binar de patru biți , a cărui valoare este între 0 (0000) și 9 (1001). Restul de șase cifre ale bazei 16 pot fi utilizate pentru a reprezenta simboluri. De exemplu, numărul 127 este reprezentat în BCD ca 0001, 0010, 0111.

Deși BCD implică o risipă considerabilă de biți (aproximativ 1/6 de memorie neutilizată în BCD-uri împachetate), în unele cazuri este de preferat deoarece are o corespondență directă cu codul ASCII . De fapt, este suficient să înlocuiți primii patru biți neutilizați cu 0011 pentru a obține ASCII corespunzător.

În sumă, dacă rezultatul depășește 9 (1001), atunci se adaugă 6 (0110).

Deoarece computerele stochează date în octeți de biți, cu această codificare este posibil să stocați o cifră pe octet și să completați restul de patru biți cu zerouri sau unii (ca în codul EBCDIC ) sau să puneți două cifre pe octet, un mod numit ambalat BCD .

Numerele din notația ambalată BCD se termină de obicei cu un cod de semn, de obicei 1100 pentru + și 1101 pentru minus. Numărul 127 este reprezentat de 11110001, 11110010, 11110111 în EBCDIC și 00010010, 01111100 în BCD ambalat.

Codul BCD este utilizat pe scară largă în electronică, în special în circuitele digitale fără microprocesor , deoarece facilitează vizualizarea cifrelor lungi pe afișajele cu șapte segmente . De fapt, fiecare afișaj fizic corespunde exact unei cifre. Există circuite integrate speciale care efectuează conversia de la BCD în secvența corespunzătoare de aprindere a segmentelor. Chiar și efectuarea de calcule aritmetice simple este mai ușor de realizat pe cifre BCD pentru circuite logice combinaționale.

BIOS-urile computerului personal stochează data și ora în BCD; acest lucru apare probabil din motive istorice, ținând seama de faptul că, în unele sisteme recente, anul este reprezentat diferit pentru a remedia bugul Millennium .

IBM și BCD

IBM folosește termenul zecimal codat binar sau BCD pentru un cod alfanumeric propriu cu șase biți (baza 64: 2 ^ 6), care reprezintă cifre, litere alfabetice majuscule și alte caractere speciale.

În primele computere IBM (IBM 1620, seria IBM 1400 și unități non-zecimale din seria IBM 700/7000) au fost adoptate mai multe variante ale BCD. Odată cu introducerea System / 360 , IBM a înlocuit BCD cu codul EBCDIC pe opt biți.

Pozițiile de biți din codul IBM BCD sunt etichetate în mod obișnuit B, A, 8, 4, 2, 1 . A și B sunt zero atunci când este codată o cifră numerică.

În BCD 1062, caracterele alfabetice au fost codificate folosind biți pari în perechi de biți și folosind biți impari pentru cifre. Hardware special convertit între această codificare internă și codul BCD pe șase biți utilizat extern.

Rezumând

Tabelul următor rezumă codarea cifrelor de la zero la nouă din unele sisteme BCD.

Pentru claritate, BCD-ul standard descris la începutul articolului se numește Zecimală codificată binară simplă ( SBCD ) sau BCD 8421 , unde 8421 indică greutatea biților.

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

Dreapta

În 1972 , Curtea Supremă a Statelor Unite a anulat o decizie a unei instanțe minore care autoriza un brevet pentru convertirea BCD în binar (Gottschalk împotriva Benson). [1] Este un caz interesant în dezbaterea complexă privind acordarea sau nu a brevetelor software .

Notă

Elemente conexe