5.7. Zecimal codat binar
5.7. Zecimal codat binar
Zecimal codat Binar sau BCD, cum este cel mai frecvent numit, este un alt proces pentru conversia numerelor zecimale în echivalentele lor binare.
Așa cum am văzut în secțiunea de numere binare a tutorialelor, există multe coduri binare diferite folosite în circuitele digitale și electronice, fiecare având propria sa utilizare specifică.
Deoarece trăim în mod natural într-o lume zecimală (baza-10) avem nevoie de o modalitate de a converti aceste numere zecimale într-un mediu binar (baza 2) pe care îl înțeleg calculatoarele și dispozitivele electronice digitale și codul zecimal codat binar ne permite să facem acest lucru.
Am văzut anterior că un cod binar n-bit este un grup de biți "n" care presupun până la 2n combinații distincte de 1 și 0. Avantajul sistemului BCD este că fiecare cifră zecimală este reprezentată de un grup de 4 cifre binare sau biți în același fel ca Hexazecimal. Deci, pentru cele 10 cifre zecimale (0 la 9) avem nevoie de un cod binar pe 4 biți.
Dar nu confundați, zecimal codat binar nu este la fel ca hexazecimal. În timp ce un număr hexazecimal pe 4 biți este valabil până la F16 reprezentând binar 11112, (zecimal 15), numerele zecimale codificate binar se opresc la 9, binar 10012. Aceasta înseamnă că, deși 16 numere (24) pot fi reprezentate utilizând patru cifre binare, în sistemul de numerotare BCD cele șase combinații de coduri binare de: 1010 (zecimal 10), 1011 (zecimal 11), 1100 (zecimal 12), 1101 (zecimal 13), 1110 (zecimal 14) și 1111 (zecimal 15) sunt clasificate ca numere interzise și nu pot fi utilizate.
Principalul avantaj al BCD este că permite o conversie ușoară între forma zecimală (baza-10) și binară (baza-2). Totuși, dezavantajul este că codul BCD este risipitor deoarece stările între 1010 (zecimal 10) și 1111 (zecimal 15) nu sunt utilizate. Cu toate acestea, BCD are multe aplicații importante, în special la utilizarea ecranelor digitale.
În sistemul de numerotare BCD, un număr zecimal este separat în patru biți pentru fiecare cifră zecimală din număr. Fiecare cifră zecimală este reprezentată de valoarea sa binară ponderată efectuând o traducere directă a numărului. Deci, un grup pe 4 biți reprezintă fiecare cifră zecimală afișată de la 0000 pentru un zero la 1001 pentru un nouă.
De exemplu, 35710 (Treisute cincizeci și șapte) în zecimal ar fi prezentat în BCD ca:
35710 = 0011 0101 0111 (BCD)
Vedem că BCD folosește codificarea ponderată, deoarece bitul binar al fiecărui grup de 4 biți reprezintă o pondere dată a valorii finale. Cu alte cuvinte, codul BCD este un cod ponderat, iar ponderile folosite în codul BCD sunt 8, 4, 2, 1, numite în mod obișnuit codul 8421, deoarece formează reprezentarea binară pe 4 biți a cifrei zecimale corespunzătoare.
Reprezentarea BCD a unui număr zecimal
Ponderea zecimală a fiecărei cifre zecimale la stânga crește cu un factor de 10. În sistemul de numere BCD, ponderea binară a fiecărei cifre crește cu un factor de 2 așa cum se arată. Atunci, prima cifră are o pondere de 1 (2o), a doua cifră are o pondere de 2 (21), a treia o pondere de 4 (22), a patra o pondere de 8 (23).
Atunci, relația dintre numere zecimale (denary) și cifrele BCD ponderate este dată mai jos.
Tabelul de adevăr pentru BCD
Vedem că codul BCD 8421 nu este altceva decât ponderea fiecărei cifre binare, cu fiecare număr zecimal (denary) exprimat ca echivalent binar pur pe patru biți.
Conversia Zecimal-la-BCD
Așa cum am văzut mai sus, conversia zecimală la BCD este foarte asemănătoare cu conversia hexazecimală în binar. Mai întâi, separați numărul zecimal în cifre ponderate și apoi scrieți codul echivalent pe 4 biți 8421 BCD reprezentând fiecare cifră zecimală, după cum se arată.
Zecimal codificat binar. Exemplul nr. 1
Folosind tabelul de mai sus, convertiți numerele zecimale (denary): 8510, 57210 și 857910 în echivalentele lor 8421 BCD.
8510 = 1000 0101 (BCD)
57210 = 0101 0111 0010 (BCD)
857910 = 1000 0101 0111 1001 (BCD)
Rețineți că numărul binar rezultat după conversie va fi o traducere binară adevărată a cifrelor zecimale. Acest lucru se datorează faptului că codul binar se traduce ca un număr binar adevărat.
Conversia BCD-la-zecimal
Conversia de la BCD la zecimal este exact opusul celor de mai sus. Pur și simplu împărțiți numărul binar în grupuri de patru cifre, începând cu cea mai puțin semnificativă cifră și apoi scriind cifra zecimală reprezentată de fiecare grup pe 4 biți. Adăugați zero-uri suplimentare la sfârșit dacă este necesar pentru a produce o grupare completă pe 4 biți. De exemplu, 1101012 ar deveni: 0011 01012 sau 3510 în zecimal.
Zecimal codificat binar. Exemplul nr. 2
Convertiți numerele binare: 10012, 10102, 10001112 și 10100111000.1012 în echivalentele lor zecimale.
10012 = 1001 BCD = 910
10102 = aceasta va produce o eroare, deoarece este zecimal 1010 și nu un număr BCD valid
10001112 = 0100 0111 BCD = 4710
10100111000.1012 = 0101 0011 0001.1010 BCD = 538,62510
Conversia BCD-la-zecimal sau zecimal-la-BCD este o sarcină relativ directă dar trebuie să ne amintim că numerele BCD sunt numere zecimale și nu numere binare, chiar dacă sunt reprezentate folosind biți. Reprezentarea BCD a unui număr zecimal este important de înțeles, deoarece sistemele bazate pe microprocesoare utilizate de majoritatea oamenilor trebuie să fie în sistemul zecimal.
Totuși, în timp ce BCD este ușor de codat și de decodat, nu este o modalitate eficientă de a stoca numere. În codarea standard 8421 BCD a numerelor zecimale, numărul de biți individuali de date necesar pentru a reprezenta un număr zecimal dat va fi întotdeauna mai mare decât numărul de biți necesari pentru o codare binară echivalentă.
De exemplu, în binar, un număr zecimal din trei cifre de la 0 la 999 necesită doar 10 biți (11111001112), în timp ce în BCD, același număr necesită un minim de 12 biți (0011 1110 0111 BCD) pentru aceeași reprezentare.
De asemenea, efectuarea sarcinilor aritmetice folosind numere zecimale codate binar poate fi un pic ciudat, deoarece fiecare cifră nu poate depăși 9. Adăugarea a două cifre zecimale în BCD va crea un posibil bit de transport de 1 care trebuie adăugat la următorul grup de 4-biți.
Dacă suma binară cu bitul de transport adăugat este egală sau mai mică de 9 (1001), cifra BCD corespunzătoare este corectă. Dar când suma binară este mai mare de 9 rezultatul este o cifră BCD nevalidă. Prin urmare, este mai bine să convertiți numerele BCD în binare pure, să efectuați adunarea necesară și apoi să transformați înapoi în BCD, înainte de a afișa rezultatele.
Cu toate acestea, utilizarea unui sistem de codare BCD atât în microelectronică cât și în sistemele informatice este deosebit de utilă în situațiile în care BCD este destinat a fi afișat pe unul sau mai multe display-uri LED sau LCD cu 7 segmente și există multe circuite integrate populare disponibile care sunt configurate pentru a oferi o ieșire sau ieșiri BCD.
Un IC comun este contorul/divizorul asincron 74LS90, care conține contoare independente divide-by-2 și divide-by-5, ce pot fi utilizate împreună pentru a produce un contor de decadă divide-by-10 cu ieșiri BCD. Un altul este 74LS390 care este versiunea duală a lui 74LS90 și poate fi configurat pentru a produce ieșire BCD.
Dar cele mai frecvent utilizate IC-uri codate BCD sunt 74LS47 și 74LS48 BCD to 7-segment decoder/driver, care convertesc un cod BCD de 4 biți al unui contor etc. și îl convertesc în codul de afișare necesar pentru a comanda segmentele individuale a unui ecran LED cu 7 segmente. În timp ce ambele circuite integrate sunt la fel de funcționale, 74LS47 are ieșiri low-active pentru comanda afișajelor cu anod-comun, în timp ce 74LS48 are ieșiri high-active pentru comanda afișajelor cu catod comun.
IC Decodificator BCD
Rezumat Zecimal codificat binar
Binary Coded Decimal sau BCD reprezintă pur și simplu reprezentarea codului binar pe 4 biți a unei cifre zecimale cu fiecare cifră zecimală înlocuită în părțile întregi și fracționare cu echivalentul său binar. Codul BCD utilizează patru biți pentru a reprezenta cele zece cifre zecimale de la 0 la 9.
De exemplu, dacă vrem să afișăm numere zecimale în intervalul de la 0 la 9, (o singură cifră), avem nevoie de 4 biți de date (o nibble), numere zecimale în intervalul de la 0 la 99, (două cifre) am avea nevoie de 8 biți (un octet), numere zecimale în intervalul de la 0 la 999, (trei cifre) am avea nevoie de 12 biți și așa mai departe. Utilizarea unui singur octet (8 biți) pentru a stoca sau afișa două cifre BCD, permițând unui octet să dețină un număr BCD în intervalul 00 - 99, este cunoscut sub numele de BCD împachetat.
Codul BCD standard este cunoscut ca un cod BCD 8421 ponderat, cu 8, 4, 2 și 1 reprezentând ponderea diferiților biți începând de la cel mai semnificativ bit (MSB) și trecând spre cel mai puțin semnificativ bit (LSB). Ponderile pozițiilor individuale ale biților unui cod BCD sunt: 23 = 8 , 22 = 4, 21 = 2 , 2o = 1.
Principalul avantaj al sistemului zecimal codat binar este acela că este un sistem rapid și eficient de a converti numerele zecimale în numere binare în comparație cu sistemul binar pur. Dar codul BCD este risipitor deoarece multe dintre stările de 4 biți (10-la-16) nu sunt utilizate, dar afișajele zecimale au aplicații importante.