A binárisan kódolt decimális , BCD , 8421-BCD a racionális számok írásának egyik formája, amikor egy szám minden decimális számjegye négybites bináris kódként van írva . Így minden BCD tetrad értéke 0000 2 (0 10 ) és 1001 2 (9 10 ) között lehet.
Például a 311 10 decimális számot bináris jelöléssel 1 0011 0111 2 -ként írjuk, BCD-ben pedig 0011 0001 0001 BCD -ként .
4 bittel 16 számjegy kódolható. Ebből 10-et használnak. A fennmaradó 6 kombináció a BCD kódban tiltott. Megfelelőségi táblázat binárisan kódolt decimális kódhoz és decimális számjegyekhez:
Bináris decimális kód | Tizedes kód | |||
---|---|---|---|---|
0 | 0 | 0 | 0 | 0 |
0 | 0 | 0 | egy | egy |
0 | 0 | egy | 0 | 2 |
0 | 0 | egy | egy | 3 |
0 | egy | 0 | 0 | négy |
0 | egy | 0 | egy | 5 |
0 | egy | egy | 0 | 6 |
0 | egy | egy | egy | 7 |
egy | 0 | 0 | 0 | nyolc |
egy | 0 | 0 | egy | 9 |
A BCD-t a telefonálásban is használják. Ebben az esetben a tizedesjegyeken kívül a „*”, „#” és néhány más karakter is kódolva van. A karakterek bináris-decimális kódban történő írásához tiltott kombinációkat kell használni:
Bináris decimális kód | Tizedes kód | |||
---|---|---|---|---|
egy | 0 | egy | 0 | * (csillag) |
egy | 0 | egy | egy | # (font jel) |
egy | egy | 0 | 0 | + (plusz) |
egy | egy | 0 | egy | - (mínusz) |
egy | egy | egy | 0 | , (tizedesvessző) |
egy | egy | egy | egy | Mégse szimbólum |
Ezen okok miatt a BCD formátumot használják a számológépekben - a legegyszerűbb aritmetikai műveletek számológépének pontosan ugyanazt az eredményt kell megjelenítenie, mint amit egy személy papíron számít.
Ezért a 8421-BCD formátumú számok összeadásakor és kivonásakor a következő szabályok érvényesek:
Példa egy bináris decimális összeadási műveletre:
Kötelező: Keresse meg az A = D + C számot, ahol D = 3927, C = 4856
Megoldás: ábrázoljuk a D és C számokat a BCD-ben:
D = 3927 10 = 0011 1001 0010 0111 BCD
C = 4856 10 = 0100 1000 0101 0110 BCD
A D és C számokat a bináris aritmetika szabályai szerint összegezzük:
*** 0011 1001 0010 0111 + 0100 1000 0101 0110 _______________________ = 1000 0001 0111 1101 - Bináris összeg + 0110 0110 - Javítás _______________________ 1000 0111 1000 0011'*' – tetrad, amelyből átvitel történt az idősebb tetradba
'**' – tetrad tiltott bitkombinációval
A * szimbólummal jelölt tetradhoz egy hatost adunk, mivel a bináris aritmetika szabályai szerint az átvitel 16-ot vitt magával, és a decimális aritmetika szerint 10. 1101 bitet kellett volna elvinni (megfelelő tizedesjegyig 13) illegális.
A 2/5 kódolási rendszerben egy decimális számjegy 5 bittel van kódolva, ebből 2 bit 1-re, 3 bit pedig 0-ra van állítva, ami pontosan 10 kombinációt ad. Egy ilyen rendszer jobb hibaérzékelést tesz lehetővé, mivel egy bit megváltoztatása mindig érvénytelen kombinációt ad; az egyirányú változtatásokat is (több 0→1 vagy 1→0 változás) is mindig észleli. Az IBM 7070 , IBM 7072 és IBM 7074 sorozatú számítógépeken "2/5" kódolást használtak ; egyes országokban a levelek vonalkóddal való megjelölésére is használják .
A tömörített decimális számok lehetővé teszik 3 decimális számjegy elhelyezését 10 bitben (2 10 = 1024 kombináció, ami 3 decimális számjegyhez elegendő), és a kódolást úgy tervezték meg, hogy a 10 bites kód és három különálló kód közötti konverziót A decimális számjegyek egyszerű és gyors logikai áramkörrel is elkészíthetők. Ezt a kódolást decimális lebegőpontos számokban használják az IEEE 754-2008 szabványban leírtak szerint .