18
Mnożąc liczbę a przez 2 otrzymujemy: .
2a = a_^ + J a_t 2'1_i
yl__
<1
Jeżeli więc wynik mnożenia Jest liczbą większą lub równą jedności, to a_,| z 1, w przeciwnym wypadku a_^ = 0. Fo wykonaniu mnożenia odrzucamy część całkowitą wyniku, czyli wyraz a^ i kontynuujemy mnożenie wyznaczając dalsze współczynniki a_2, a_j, ... itd.
1.2.3* System ósemkowy i szesnastkowy
Znaczenie tych systemów wynika z łatwości zamiany liczb w nich przedstawionych na dwójkowe i odwrotnie. Ponieważ zapisy liczb w tych systemach są krótsze od zapisu dwójkowego, są one często używane dla ułatwienia człowiekowi manipulacji na liczbach dwójkowych.
W systemie ósemkowym dysponujemy ośmioma cyframi 0-7, zaś w szesnastkowym 16 cyframi, przy czym zwykle dla oznaczenia cyfr od 10 do 15 używa się kolejnych liter alfabetu od A do F.
Aby zamienić liczbę ósemkową (szesnastkową) na binarną, należy każdą cyfrę zapisu ósemkowego (szesnastkowego) zamienić na 3-bitową (4-bitową) liczbę dwójkową. Zasada ta wynika z faktu, że 8 = 2^ i 16 = 2^.
Przykład 1.10
Liczby (3057)e i (AF9)16 zamienić na dwójkowe.
Stosując podaną zasadę konwersji mamy:
(3057)a = (011 000 101 111)2 3 0 5 7
, (AF9)16 = (1010 1111 1001)2
A P 9
Aby zamienić liczbę dwójkową na ósemkową (szesnastkową), należy w liczbie dwójkówej wydzielić 3-bitowe (4—bitowe) grupy cyfr począwszy od prawej strony i liczby w tych grupach zastąpić cyframi ósemkowymi (szesnastkowymi) .
Przykład 1.11
Liczbę (10111010001011)2 przedstawić w systemach ósemkowym i szesnastkowym.
Mamy
(10 111 010 001 011)2 = (27213)g 2 7 2 1 3
oraz
(10 1110 1000 1011)2 = (2E8B)16 2 E 8 B
r O
1.2.4. Kod Gray'a
Jest to kod dwójkowy, zaliczany do kodów refleksyjnych, w których,przy
przejściu od dowolnej liczby całkowitej do |
liczby większej lub mniejszej | |
0 jedność, następuje zmiana tylko |
na jednej |
pozycji zapisu. |
Poniżej przedstawiono dziesięć |
kolejnych liczb naturalnych w systemie | |
dziesiętnym, dwójkowym 1 Gray'a. |
Przy kodzie Gray'a zaznaczono poziomymi | |
kreskami miejsca zwierciadlanego odbicia odpowiednich grup bitów, usprawiedliwiające nazwę kod refleksyjny. | ||
<“>10 |
(q)2 |
(11 ^ Gray |
0 |
OOOO |
0000 |
1 |
0001 |
0001 |
2 |
0010 |
0011 |
5 |
0011 |
0010 |
4 |
0100 |
0110 |
5 |
0101 |
0111 |
6 |
0110 |
0101 |
7 |
0111 |
0100 |
6 |
1000 |
1100 |
9 |
1001 |
1101 |
Algorytm zamiany N-bitowej liczby wyrażonej w naturalnym^systemie dwójkowym na liczbę w kodzie Gray'a dany jest wzorem
St = \ © bl+1 , i = 0,1....,N (1.5)
zaś zamiana odwrotna przebiega według wzorów
^ = 8K
bi = bi+1 © ei> i = N-1, N-2.....0 (1.6)
We wzorach tych b^^ oraz g^ oznaczają i-te cyfry liczby wyrażone w kodzie, odpowiednio, binarnym i Gray'a, zaś © Jest operacją sumy modulo 2 w algebrze Boole'a (patrz p. 1.3.2 1 przykłady 1.12 i 1.13).
Przykład 1.12
liczbę (101110110)2 przedstawić w kodzie Gray'a.
Na podstawie wzoru (1.5) i tabeli funkcji © podanej na rys. 1.7a
a |
b |
a©b |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
0 |
1 |
1 |
1 |
0 |
b).
(I 0 1 1 1 0 1 1 0)7
(1110 0 110 l)yuv
a)
(1 0 0 0 1 1 0 1)6IAY
(1 1 1 1 0 1 1 0)2
c)
Rys. 1.7. Przykłady konwersji pomięnzy kodem binarnym i Gray a:a) tablica funkcji © , b) konwersja kodu bin*rnego; na kod Gray'a, c) konwersja ko
du Gray'a na’binarny