16
Kolejna liczby naturalne w systemie dwójkowym mają postać
<“>10 |
(n)2 |
(n)lO |
(a)2 |
0 |
0 |
8 |
1000 |
1 |
01 |
9 |
1001 |
2 |
10 |
10 |
1010 |
3 ’ |
11 |
11 |
' 1011 |
.4 |
100 , |
12 |
1100 |
5 |
101 . |
13 |
1101 |
6 |
110 |
14 |
1110 |
7 |
111 |
15 |
1111 |
Na podstawie przedstawionego ciągu bardzo łatwo jest wyznaczyć algoryfcn tworzenia kolejnych liczb dwójkowych (patrz zadanie 2.12}.
Algorytm zamiany liczb dziesiętnych na dwójkowe
Jedna z oczywistych metod wyrażania zadanej liczby w systemie dwójkowym, czyli wyznaczania współczynników we wzorze (1.3), polega na odejmowaniu od zadanej liczby, a następnie od otrzymywanych reszt, największych całkowitych potęg liczby 2 nie przekraczających zadanej liczby bądź kolejnej reszty.
Przykład 1.3
■Liczbę (1231,3125)^q przedstawić w systemie dwójkowym.
10
0.3125 ?
-0.2500 = 2 ^ —- a p = 1
-0.0625 = 2^ — a = 1
Mamy więc
(1231,3125)10 = (10011001111,0101)2
Znacznie wygodniejsza jest metoda zamiany poprzez dzielenie i mnożenie, którą wyjaśnimy na kolejnym przykładzie.
Przykład. 1.9
Liczbę dziesiętną z przykładu 1.8 zamienić na dwójkową stosując metodę
dzielenia i mnożenia.
Cześć całkowitą dzielimy kolejno przez 2 i wypisujemy kolejne reszty Otrzymany ciąg reszt jest zapisem dwójkowym zadanej liczby całkowitej
1
1
1
1
0
0
1
1
o
0
1
0 |
3125 |
a_1 X 0 |
6250 |
a_2 = 1 |
2500 - |
a_3 * 0 |
5000 |
a_ą = 1 |
0000 |
a-5 = ® |
0000 |
Cześć ułamkowa mnożymy kolejno przez 2 i odrzucamy pojawiające się części całkowite. Otrzymany ciąg części całkowitych Jest zapisem dwójkowym zadanego ułamka właściwego.
Mamy więc, jak poprzednio,
(1231,3125)10 = (10011001111,0101)2
Aby uzasadnić podany algorytm, przeprowadzimy następujące rozumowanie. Przypuśćmy, że chcemy daną liczbę całkowitą a przedstawić w systemie dwójkowym, tzn. chcemy wyznaczyć współczynniki a^ w rozwinięciu.
li 2 = ao
Dzieląc liczbę a przez 2 otrzymujemy!
>1-1
a ao
2 = T
liczba całkowita
Jeśli więc wynik dzielenia Jest liczbą całkowitą (liczba dzieli się bez reszty), to aQ = 0, natomiast jeżeli wynik dzielenia jest liczbą ułamkową (reszta z dzielenia jest równa jeden), to aQ = 1. Po wykonaniu dzielenia odrzucamy część ułamkową wyniku, czyli człon aQ/2 1 kontynuujemy dzielenie wyznaczając dalsze współczynniki a^ag,.*. itd.
Przedstawienie w systemie dwójkowym liczby a mniejszej od jedności polega na wyznaczeniu współczynników a_^ w rozwinięciu
oo £ co
a = 2 a-i 2 1 = -i1 + 2 a-i 2 ai f J0'1^
i-l i-ż
CTi,=