16
16
“2
*10
r-"i HH-* o o n w. |
+1 |
;a , fv f* |
. .'.S | |
|_log a |
+ i |
~ log 2 ■ |
: lim
a —-oo
Kolejna liczby naturalne w systemie dwójkowym mają postaó
<“>1Ó |
(n)2 |
<“>10 |
(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ć algorytm tworzenia kolejnych liczb dwójkowych (patrz zadanie 2.12).
Algorytm zamiany liczb dziesiętnych na dwójkowe
Jeana 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)10 przedstawić w systemie dwójkowym.
-0.2500 = 2 ^ —a p = 1 0.0625 _4
-0.0625 = 2^ — a „ = 1
' fftOOO
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 1 mnożenia.
1231
615
307
153
76
38
19
9
4
2
1
0
Cześć całkowita dzielimy kolejno
“1
a2
a3
Są
ac
przez 2 i wypisujemy kolejne reszty. Otrzymany ciąg reszt jest zapisem dwójkowym zadanej liczby całkowitej.
= Sq
ł10
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,
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 w rozwinięciu.
Vt
0 3 0 « 1 3 0 3 1 3 O
Vi
= 2
li 2i = ao
2ij
Dzieląc liczbę a przez 2 otrzymujemy)
a
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 a0 = 1. Po wykonaniu dzielenia odrzucamy część ułamkową wyniku, czyli człon aQ/2 1 kontynuujemy dzielenie wyznaczając dalsze współczynniki a^,a2«... ltd.
Przedstawienie w systemie dwójkowym liczby a mniejszej od jedności polega na wyznaczeniu współczynników a_^ w rozwinięciu
a = 2 a-i 2 1 = ~Tp~ + 2 a_i 2 Ł» ai f (°»1 I i*1 i-i
CT i.s