Arytmetyka cyfrowa

Pozycyjne systemy liczbowe: Przechowywanie, przetwarzanie i przesyłanie informacji stanowią od wieków przedmiot ludzkiego zainteresowania. Przechowywanie (pamiętanie) realizuje się przez operację zapisu. Najprostsze informacje zapisuje się przy użyciu pojedyńczych znaków, takich jak cyfry i litery. Bardziej złożone informacje zapisuje się w postaci odpowiednio dłuższych łańcuchów znakowych. Aby wykonać operację zapisu, najpierw należy utworzyć alfabet i język nad tym alfabetem.
Alfabet definiuje się jako skończony, niepusty zbiór różnych znaków (np. A={a,b......,z}, D={0,1....,9}, który zazwyczaj jest uporządkowany, tzn. dana jest kolejność znaków alfabetu. Jeżeli alfabet zawiera tylko 2 znaki, to nosi on nazwę alfabetu dwójkowego (binarnego). Mogą to być dowolne dwa różne znaki, np. a i b, L i H, lecz najczęściej stosuje się cyfry 0,1 i wówczas alfabet dwójkowy oznacza się symbolem B={0,1}. Językiem nazywa się niepusty, skończony zbiór różnych słów nad danym alfabetem.
System binarny:
Liczbę w systemie dwójkowym (binarnym) możemy rozpisać jako sumę kolejnych potęg liczby 2. Przykład: 10010110=1x27 + 0x26 + 0x25 + 1x24 + 0x23 + 1x22+1x21 + 0x20 Współczynniki stojące przy potęgach znów są cyframi używanymi przez system dwójkowy i tworzą liczbę 10010110. W urządzeniach cyfrowych najczęściej jest stosowany naturalny kod dwójkowy, oznaczany literami NB (ang. Natural Binary). Kod dwójkowy kojarzy się zwykle z prawami G.Boole'a oraz C.E. Shannona. Pozycyjny, dwójkowy system numeracji jest najłatwiejszy i najprostszy. Reguły działań dla tego systemu są podane niżej w tabelach:
a b a+b a b a+b
0 0 0 0 0 0
0 1 1 0 1 0
1 0 1 1 0 0
1 1 10 1 1 1
System heksadecymalny: układ liczbowy o podstawie 16, składający się z czterech cyfr lub bitów informacji, gdzie najmniej znaczący bit ma wartość 1, a najbardziej znaczący 8. Liczby w kodzie szesnastkowym przedstawiane są za pomocą cyfr 0-9 i liter A-F, co odpowiada dziesiętnemu zakresowi 0-15. Bajt informacji zawierający wartość 0-255 dziesiętnie zawiera się w przedziale 00-FF szesnastkowo.
Kody dwójkowo-dziesiętne (BCD). >BR /> Aby liczby dziesiętne mogły być użyte w systemie cyfrowym, muszą być przetworzone na kod dwójkowy lub zapisane w kodach dwójkowych noszących wspólną nazwę kodów BCD (ang. Binary Coded-Decimal). W kodzie BCD każda cyfra liczby dziesiętnej jest oddzielnie kodowana dwójkowo w postaci odpowiedniego słowa. Cała liczba dziesiętna jest kodowana dwójkowo przez złożenie słów dwójkowych, reprezentujących wszystkie cyfry tej liczby.
KODY BCD
ND 8421 2421(Aikena) XS3-Graya 2z5(42210) 2z7(5043210)
0 0000 0000 0010 11000 0100001
1 0001 0001 0110 00011 0100010
2 0010 0010 0111 00101 0100100
3 0011 0011 0101 00110 0101000
4 0100 0100 0100 01001 0110000
5 0101 1011 1100 01010 1000001
6 0110 1100 1101 01100 1000010
7 0111 1101 1111 10001 1000100
8 1000 1110 1110 10010 1001000
9 1001 1111 1010 10100 1010000
ND 1z10(pierścieniowy)
0 0000000001
1 0000000010
2 0000000100
3 0000001000
4 0000010000
5 0000100000
6 0001000000
7 0010000000
8 0100000000
Najpopularniejszy jest kod BCD 8421, obejmujący pierwsze 10 liczb z 4-bitowego naturalnego kodu dwójkowego. Kody 2421 i XS3 są kodami "samouzupełniającymi" w tym sensie, że uzupełnienie do 1 liczb dwójkowych w tych kodach daje uzupełnieni do 9 odpowiednich liczb dziesiętnych. Upraszcza to wykonywanie niektórych operacji arytmetycznych. Specjalnym rodzajem kodu BCD jest kod "1 z 10" (pierścieniowy). Kod ten jest najprostszym koncepcyjnie kodem do wprowadzenia do układu cyfrowego cyfr kodu dziesiętnego przez 10 wmnie wyłączalnych klawiszy lub do wyświetlania przez układ jednej z dziesięciu cyfr kodu dziesiętnego. Zastosowania takie są powszechne w relacjach człowiek-układ (system) cyfrowy. Stąd też przyjęto w technice cyfrowej określenia: koder - układ służący do przemiany liczb w kodzie pierścieniowym na liczby w innym kodzie BCD i dekoder - układ służący do przemiany liczb w niepierścieniowym kodzie BCD na liczby wkodzie pierścieniowym. Układy służące do wszystkich pozostałych przemian między słowami w różnych kodach okresla się zwyczajowo, lecz niezbyt ściśle, jako konwertery kodów (p. 1.1). Zalicza się do nich konwertery NB-BCD i BCD-NB. Typowe zastosowanie konwerterów kodów w systemie cyfrowym przedstawioneo na rys. 1.1. Aby uniknąć konwersji BCDŕNB-NBŕBCD często w niewielkich urządzeniach cyfrowych (np. w kalkulatorach) wykonuje się przetwarznie danych w kodzie BCD.