JustPaste.it

Podsumowanie systemów dwójkowych

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.

9c528cfb5df8b07659b9a06fc039d36f.gif

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

702d4829524d2498d1f1760d0614572c.gif

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)

689f0b6b64e3e4108db4b5e4569be139.gif

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

a643774895447f906636734ef50abf09.gif

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