Decimală codificată binar , BCD , 8421-BCD este o formă de scriere a numerelor raționale, când fiecare cifră zecimală a unui număr este scrisă ca codul său binar pe patru biți . Astfel, fiecare tetradă BCD poate lua valori de la 0000 2 (0 10 ) la 1001 2 (9 10 ).
De exemplu, numărul zecimal 311 10 ar fi scris în notație binară ca 1 0011 0111 2 și în BCD ca 0011 0001 0001 BCD .
Cu 4 biți , pot fi codificate 16 cifre. Dintre acestea sunt folosite 10. Restul de 6 combinații din codul BCD sunt interzise. Tabel de corespondență pentru codul zecimal codat binar și cifre zecimale:
Cod zecimal binar | Cod zecimal | |||
---|---|---|---|---|
0 | 0 | 0 | 0 | 0 |
0 | 0 | 0 | unu | unu |
0 | 0 | unu | 0 | 2 |
0 | 0 | unu | unu | 3 |
0 | unu | 0 | 0 | patru |
0 | unu | 0 | unu | 5 |
0 | unu | unu | 0 | 6 |
0 | unu | unu | unu | 7 |
unu | 0 | 0 | 0 | opt |
unu | 0 | 0 | unu | 9 |
BCD este folosit și în telefonie. În acest caz, pe lângă cifrele zecimale, sunt codificate caracterele „*”, „#” și altele. Pentru a scrie aceste caractere în cod binar-zecimal, se folosesc combinații interzise:
Cod zecimal binar | Cod zecimal | |||
---|---|---|---|---|
unu | 0 | unu | 0 | * (asterisc) |
unu | 0 | unu | unu | # (semnul lire sterline) |
unu | unu | 0 | 0 | + (plus) |
unu | unu | 0 | unu | - (minus) |
unu | unu | unu | 0 | , (punct zecimal) |
unu | unu | unu | unu | Simbol de anulare |
Din aceste motive, formatul BCD este folosit în calculatoare - un calculator în cele mai simple operații aritmetice ar trebui să afișeze exact același rezultat pe care îl calculează o persoană pe hârtie.
Prin urmare, la adăugarea și scăderea numerelor în formatul 8421-BCD, se aplică următoarele reguli:
Un exemplu de operație de adăugare binară-zecimală:
Obligatoriu: găsiți numărul A = D + C, unde D = 3927, C = 4856
Rezolvare: Să reprezentăm numerele D și C în BCD:
D = 3927 10 = 0011 1001 0010 0111 BCD
C = 4856 10 = 0100 1000 0101 0110 BCD
Însumăm numerele D și C conform regulilor aritmeticii binare:
* ** 0011 1001 0010 0111 + 0100 1000 0101 0110 ___________________ = 1000 0001 0111 1101 - Sumă binară + 0110 0110 - Corectare ___________________ 1000 0111 1000 0011'*' — tetradă din care s-a făcut un transfer la tetradă senior
'**' — tetradă cu combinație interzisă de biți
Adăugăm un șase la tetrada marcată cu simbolul *, deoarece, conform regulilor aritmeticii binare, transferul a luat 16 cu ea și, conform regulilor aritmeticii zecimale, ar fi trebuit să ducă 10. bit 1101 (corespunzător până la zecimala 13) este ilegală.
În sistemul de codare 2 din 5 , o cifră zecimală este codificată cu 5 biți, dintre care 2 biți sunt setați la 1 și 3 biți la 0, ceea ce oferă exact 10 combinații. Un astfel de sistem oferă o detectare mai bună a erorilor, deoarece schimbarea unui bit va da întotdeauna o combinație nevalidă; de asemenea, modificări unidirecționale (modificări multiple 0→1 sau 1→0) sunt întotdeauna detectate. Codificarea „2 din 5” a fost utilizată în computerele din seriile IBM 7070 , IBM 7072 și IBM 7074 ; folosit și în unele țări pentru a marca corespondența cu un cod de bare .
Numerele zecimale compactate permit plasarea a 3 cifre zecimale în 10 biți (2 10 = 1024 combinații, ceea ce este suficient pentru 3 cifre zecimale), iar codificarea este concepută astfel încât conversia între un cod de 10 biți și trei separate cifrele zecimale se pot face folosind un circuit logic simplu și rapid. Această codificare este utilizată în numere zecimale cu virgulă mobilă, așa cum este descris în standardul IEEE 754-2008 .