W czterech poprzednich rozdziałach scharakteryzowaliśmy najpopularniejsze kody dwójkowe umożliwiające zapis liczb ze znakiem. W tym rozdziale dokonamy ich zbiorczego podsumowania, które pozwoli nam zauważyć różne prawidłowości.
We wszystkich poznanych kodach podstawową rolę pełni naturalny kod binarny - NBC. Sądzę, iż jest on najważniejszym ze wszystkich kodów binarnych.
Wartość słowa kodowego w różnych systemach NBC bn-1...b1b0 bn-12n-1+...+b121+b020 ZM bzbn-2...b1b0 (-1)bz x (kod NBC pozostałych bitów) U1 bn-1bn-2...b1b0 bn-1(-2n-1-1) + kod NBC pozostałych bitów U2 bn-1bn-2...b1b0 bn-1(-2n-1) + kod NBC pozostałych bitów BIAS bn-1...b1b0 kod NBC bitów bn-1...b0 - bias W poniższej tabelce zebraliśmy wartości poszczególnych słów kodu 4-bitowego w różnych systemach binarnych.
Interpretacja wartości słów kodu binarnego w różnych systemach liczbowych Kod NBC ZM U1 U2 BIAS=7 BIAS=8 BIAS=9 0000 0 0 0 0 -7 -8 -9 0001 1 1 1 1 -6 -7 -8 0010 2 2 2 2 -5 -6 -7 0011 3 3 3 3 -4 -5 -6 0100 4 4 4 4 -3 -4 -5 0101 5 5 5 5 -2 -3 -4 0110 6 6 6 6 -1 -2 -3 0111 7 7 7 7 0 -1 -2 1000 8 0 -7 -8 1 0 -1 1001 9 -1 -6 -7 2 1 0 1010 10 -2 -5 -6 3 2 1 1011 11 -3 -4 -5 4 3 2 1100 12 -4 -3 -4 5 4 3 1101 13 -5 -2 -3 6 5 4 1110 14 -6 -1 -2 7 6 5 1111 15 -7 0 -1 8 7 6
Zakres wartości słowa kodowego NBC bn-1...b1b0 (0 ... 2n-1) ZM bzbn-2...b1b0 (-2n-1+1 ... 2n-1-1) U1 bn-1bn-2...b1b0 (-2n-1+1 ... 2n-1-1) U2 bn-1bn-2...b1b0 (-2n-1 ... 2n-1-1) BIAS bn-1...b1b0 (-bias ... 2n-1-bias)
Arytmetyka w poznanych kodach dwójkowych ZM Reguły arytmetyki NBC muszą być modyfikowane w skomplikowany sposób. U1 Prosta modyfikacja reguł arytmetyki NBC U2 Reguły arytmetyki NBC zachowane bez zmian BIAS Prosta modyfikacja reguł arytmetyki NBC
Kod znak moduł nie ma zbyt wielkiego zastosowania w praktyce. Omówiliśmy go ze względu na jego prostotę i duże podobieństwo koncepcyjne do sposobu zapisu liczb ze znakiem w systemie dziesiętnym.
Kod U1 oraz kod z nadmiarem są szeroko stosowane w systemach zmiennoprzecinkowych, które omówimy dokładnie w następnym rozdziale.
Kod U2 jest powszechnie stosowany we wszystkich językach programowania do kodowania liczb całkowitych ze znakiem.
Dokument ten rozpowszechniany jest zgodnie z zasadami licencji
GNU Free Documentation License.
Źródło: mgr Jerzy Wałaszek