Systemy liczbowe
Strona domowa
Zarys teoretyczny
Naturalny system dwójkowy
Kod uzupełnień do dwóch
Kod znak-moduł
Standard IEEE 754
System szesnastkowy
Ćwiczenia
Naturalny system dwójkowy
Kod uzupełnień do dwóch
Kod znak-moduł
Standard IEEE 754
System szesnastkowy
TEST

Kod znak-moduł (ZM)

Kod znak-moduł jest jednym ze sposobów zapisu liczb całkowitych. Najstarszy bit w tym kodzie jest bitem znaku, natomiast pozostałe bity mają takie samo znaczenie jak te w naturalnym kodzie binarnym. Jeżeli bit znaku ma wartość 1 to liczba jest ujemna w przeciwnym przypadku liczba jest dodatnia. Taki stan rzeczy powoduje, że w systemie znak-moduł mamy dwie reprezentacje zera:
+0 (00000000ZM)
oraz
-0 (10000000ZM)
Jest to wada systemu.

Liczbę w systemie znak-moduł możemy zapisać za pomocą ogólnego wzoru:
bn-1bn-2bn-3...b2b1b0
bn-1 - bit znaku liczby
bn-3 ... b0 - bity modułu liczby

Przykład:

10110111(ZM) = (-1)1 x (25 + 24 + 22 + 21 + 20) = - (32 + 16 + 4 + 2 + 1) = - 55(10)

Format zapisu ZM musi być ściśle ustalony, aby wiadomo było, który bit jest bitem znaku - w operacjach arytmetycznych bit znaku musimy traktować inaczej niż inne bity. Niezastosowanie się do ściśle określonych reguł może doprowadzić do otrzymania błędnych wyników obliczeń.

Zakres liczby w zapisie znak-moduł.
Zakres n bitowej liczby w kodzie ZM wynosi:

Z(ZM) = <-2n-1 + 1, 2n-1 - 1>

Dla 8 bitowej liczby w zapisie ZM mamy zakres:
od -27 + 1 = -127 = 11111111(ZM)
do 27 - 1 = 127 = 01111111(ZM)

 

Wykonanie Radosław Kędzierski