« poprzedni punkt  następny punkt »


5. Kod zmiennopozycyjny

Zakres liczb reprezentowanych w kodach stałopozycyjnych jest niewielki. Dlatego chcąc uzyskać większy zakres liczb, a w konsekwencji większą dokładność obliczeń, stosuje się kod zmiennopozycyjny. Kod zmiennopozycyjny tworzy się z trzech grup bitów:

- jednobitowa grupa znaku liczby (0 - liczba dodatnia, 1 - liczba ujemna),

- wielobitowa grupa mantysy,

- wielobitowa grupa wykładnika (cechy).

Weźmy ośmiobitową liczbę 00010110 w kodzie NKB. Jest to liczba +2210. Zapis ten zakłada, że kropka oddzielająca część całkowitą liczby od części ułamkowej znajduje się po prawej stronie liczby (jak dla liczb dziesiętnych). Można jednak założyć możliwość zmiany miejsca kropki. Przykładową liczbę można zapisać także jako 0001011.0 x 21 lub 000101.10 x 22 lub 00010.110 x 23 itd. Liczba dwójkowa (z kropką oddzielającą część ułamkową od części całkowitej) nazywana jest mantysą, a potęga dwójki mnożnika nazwana jest wykładnikiem (cechą). Stosując powyższą zasadę każdą liczbę można zapisać na różne sposoby. W komputerach taka sytuacja stwarzałaby niejednoznaczność. Dlatego w zapisie zmiennopozycyjnym mantysy są znormalizowane. Stosuje się mantysy zawierające się pomiędzy 1/210 i 110. Mantysa M musi spełniać warunek

0.510 £ M < 110

W naszym przykładzie znormalizowana mantysa liczby +2210 wynosi 0.10110. Wtedy mnożnik mantysy wynosi 25, więc wykładnik jest równy +510. Wykładniki liczb zmiennopozycyjnych przedstawia się w kodzie U2 lub w kodzie polaryzowanym. W dalszym ciągu przyjmiemy ten drugi sposób.

Zakładając ośmiobitową mantysę i ośmiobitowy wykładnik przykładową liczbę +2210 można przedstawić jako:

Dodajmy jeszcze dwie uwagi o zmiennopozycyjnym zapisie liczb. Pierwsza uwaga dotyczy długości słów. W komputerach stosowane są różne długości słów. Najczęściej stosowane długości słów w kodzie zmiennopozycyjnym to: 32 bity (bit znaku, 23 bity mantysy i 8 bitów wykładnika), 64 bity (bit znaku, 52 bity mantysy i 11 bitów wykładnika) i 80 bitów (bit znaku, 63 bity mantysy i 16 bitów wykładnika).

Druga uwaga dotyczy nadmiarowości zapisu. Znormalizowana mantysa ma zawsze

taki sam początek. Są to znaki 0.1, które w zapisie zmiennopozycyjnym są pomijane. Zakładając, że mantysa ma 23 bity a wykładnik ma 8 bitów przykładowa liczba +2210 ma postać:

Przyjmijmy dalej, dla uproszczenia rozważań, inny format reprezentacji zmiennopozycyjnej (ośmiobitową mantysę i sześciobitowy wykładnik). Przedstawmy w takim formacie liczbę ułamkową -1/810. Moduł tej liczby można przedstawić jako 0.001000. Normalizując mantysę tej liczby otrzymamy, że:

1/810 = 0.1000 x 2-3

Postać zmiennopozycyjnego zapisu tej liczby jest:


« poprzedni punkt  następny punkt »