rdodA-06.pdf
(
319 KB
)
Pobierz
Szablon dla tlumaczy
Dodatek A.
Dwójkowo i szesnastkowo
Podstawy arytmetyki poznaliśmy w tak zamierzchłej przeszłości, że trudno sobie wyobrazić co by
było, gdybyśmy nie posiadali tej wiedzy. Gdy patrzymy na znaki 145, to natychmiast wiemy, że
chodzi o liczbę „sto czterdzieści pięć”.
Zrozumienie sposobu funkcjonowania systemu dwójkowego i szesnastkowego wymaga innego
spojrzenia na liczbę 145, a mianowicie postrzegania jej nie jako liczby, ale jako jej kodu.
Na początku wyobraź sobie powiązanie pomiędzy liczbą trzy a „3”. Cyfra „3” jest znaczkiem na
papierze; liczba trzy jest ideą. Cyfra służy do reprezentowania liczby.
To rozróżnienie może być łatwiejsze do zrozumienia, jeśli uświadomimy sobie, że zarówno trzy
jak i 3, |||, III oraz *** reprezentują tę samą ideę liczby trzy.
W systemie dziesiętnym (czyli, jak mówią matematycy, o podstawie 10) do reprezentowania
wszystkich liczb używamy cyfr 0, 1, 2, 3, 4, 5, 6, 7, 8 oraz 9. Jak jest reprezentowana liczba 10?
Można sobie wyobrazić, że do reprezentowania liczby dziesięć używamy litery A, lub że
używamy zapisu IIIIIIIIII. Rzymianie używali znaku X. W systemie arabskim, z którego obecnie
korzystamy, do reprezentowania wartości wykorzystujemy cyfry i ich pozycje. Pierwsza (położona
najbardziej na prawo) kolumna jest używana dla jedynek, a druga (w lewą stronę) jest używana dla
dziesiątek. Tak więc liczba piętnaście jest reprezentowana jako 15 (czytaj: „jeden, pięć”), czyli
jedna dziesiątka i pięć jedynek.
Pojawia się regularność, dzięki której można dokonać pewnej generalizacji:
1. System o podstawie 10 używa cyfr od 0 do 9.
2. Kolumnysą potęgami dziesięciu: 1, 10, 100, itd.
3. Jeśli trzecia kolumna reprezentuje setki, to największą liczbą, jaką można zapisać w dwóch
kolumnach, jest 99. Innymi słowy, w n kolumnach możemy reprezentować liczby od 0 do
(10
n
–1). Tak więc, w trzech kolumnach możemy reprezentować liczby od 0 do (10
3
–1), czyli
od 0 do 999.
Inne podstawy
To, że korzystamy z podstawy 10, nie jest przypadkiem: w końcu mamy po dziesięć palców.
Można sobie jednak wyobrazić inną podstawę. Używając reguł określonych dla podstawy 10,
możemy opisać podstawę 8:
1. System o podstawie 8 używa cyfr od 0 do 7.
2. Kolumnysą potęgami ośmiu: 1, 8, 64, itd.
3. W n kolumnach możemy zapisywać liczby od 0 do 8
n
–1.
W celu rozróżniania liczb o różnych podstawach, podstawy zapisujemy jako indeks dolny tuż za
ostatnią cyfrą liczby. Liczba piętnaście przy podstawie 10 jest zapisywana jako 15
10
i odczytywana
jako „jeden, pięć, dziesiętnie”.
Tak więc, reprezentując liczbę 15
10
w systemie o podstawie 8, napisalibyśmy 17
8
. Należy ją
odczytywać jako „jeden, siedem, ósemkowo”. Zwróć uwagę, że można to odczytywać jako
„piętnaście”, gdyż tę wartość reprezentuje.
Dlaczego 17? Jedynka oznacza jedną ósemkę, a siódemka oznacza siedem jedynek. Jedna ósemka
plus siedem jedynek daje piętnaście. Weźmy piętnaście gwiazdek:
***** *****
*****
Naturalnym działaniem będzie utworzenie dwóch grup: grupy dziesięciu gwiazdek i grupy pięciu
gwiazdek. Dziesiętnie byłyby one reprezentowane jako 15 (jedna dziesiątka i pięć jedynek).
Można także pogrupować gwiazdki następująco:
**** *******
****
to jest, jako osiem gwiazdek i siedem. W systemie ósemkowym zapisalibyśmy to jako 17
8
, czyli
jako jedną ósemkę i siedem jedynek.
Wokół podstaw
Liczbę piętnaście możemy w systemie dziesiętnym zapisywać jako 15, w systemie
dziewiątkowym jako 16
9
, w systemie ósemkowym jako 17
8
, a czy w systemie siódemkowym jako
21
7
. Dlaczego 21
7
? W systemie siódemkowym nie ma cyfry 8. Aby wyrazić liczbę piętnaście,
potrzebujemy dwóch siódemek i jednej jedynki.
Jak można to uogólnić? Aby zamienić liczbę o podstawie 10 na liczbę o podstawie 7, pomyśl o
kolumnach: w systemie siódemkowym występują kolumny dla jedynek, siódemek, czterdziestek
dziewiątek, trzysta czterdziestek trójek i tak dalej. Dlaczego takie kolumny? Ponieważ
reprezentują 7
0
, 7
1
, 7
2
, 7
4
i tak dalej.
Pamiętajmy, że dowolna liczba podniesiona do zerowej potęgi (na przykład 7
0
) równa się 1, każda
liczba podniesiona do pierwszej potęgi (na przykład 7
1
) równa się samej sobie, każda liczba
podniesiona do drugiej potęgi równa się wynikowi przemnożenia jej przez siebie (7
2
= 7*7 = 49),
a każda liczba podniesiona do trzeciej potęgi odpowiada trzykrotnemu przemnożeniu jej przez
siebie (7
3
= 7*7*7 = 343).
Wykonaj tabelę:
Kolumna
4
3
2
1
Potęga
7
3
7
2
7
1
7
0
Wartość
343
49
7
1
Pierwszy wiersz reprezentuje numer kolumny. Drugi wiersz reprezentuje potęgę siódemki. Trzeci
wiersz reprezentuje wartość dziesiętną każdej liczby w drugim wierszu.
Aby zamienić wartości dziesiętne na liczby siódemkowe, postępuj zgodnie z poniższą procedurą:
sprawdź liczbę i zdecyduj, której kolumny użyć jako pierwszej. Jeśli liczbą jest na przykład 200,
wiemy, że kolumna 4 (343) będzie zawierała 0 i nie musimy się nią martwić.
Aby dowiedzieć się, ile 49-ek jest w liczbie 200, podzielimy 200 przez 49. Otrzymujemy 4, więc
w kolumnie trzeciej umieszczamy cyfrę 4 i sprawdzamy resztę z dzielenia: 4. W liczbie 4 nie ma
żadnej siódemki, więc w kolumnie siódemek umieszczamy cyfrę 0. W liczbie cztery są cztery
jedynki, więc w kolumnie jedynek umieszczamy cyfrę 4. Odpowiedzią jest 404
7
.
Kolumna
4
3
2
1
Potęga
7
3
7
2
7
1
7
0
Wartość
343
49
7
1
200 siódemkowo 0
4
0
4
Wartość
dziesiętna
0
4*49 = 196
0
4*1 = 4
W tym przykładzie cyfra 4 w trzeciej kolumnie reprezentuje wartość dziesiętną 196, a cyfra 4 w
pierwszej kolumnie reprezentuje wartość 4. 196+4 = 200. Tak więc 404
7
= 200
10
.
Przejdźmy następnego przykładu.
Aby zamienić liczbę 968 na liczbę szóstkową:
Kolumna
5
4
3
2
1
Potęga
6
4
6
3
6
2
6
1
6
0
Wartość
1296
216
36
6
1
Sprawdź, czy wiesz, dlaczego kolumny reprezentują takie wartości. Pamiętaj, że 6
3
= 6*6*6 = 216.
Aby wyznaczyć reprezentację liczby 986 w systemie szóstkowym, zaczniemy od kolumny 5. Ile
1296-tek mieści się w 986? Żadna, więc w kolumnie 5. zapisujemy 0. Jeśli podzielimy 968 przez
216, to otrzymamy 4 z resztą 104. W kolumnie 4. znajdzie się cyfra 4. To jest, ta kolumna będzie
reprezentować 4*216 (864).
Musimy teraz wyrazić pozostałą wartość (968-864 = 104). Podzielenie 104 przez 36 daje 2 z resztą
32. Kolumna trzy będzie zawierać cyfrę 2. Podzielenie 32 przez 6 daje 5 z resztą 2. Tak więc
otrzymujemy liczbę 4252
6
.
Kolumna
5
4
3
2
1
Potęga
6
4
6
3
6
2
6
1
6
0
Wartość
1296
216
36
6
1
986 szóstkowo 0
4
2
5
2
Wartość
dziesiętna
0
4*216=864
2*36=72
5*6=30
2*1=2
864+72+30+2 = 968
Dwójkowo
Ostatecznym etapem tego systemu jest system o podstawie 2. Są w nim tylko dwie cyfry: 0 i 1.
Kolumny to
Kolumna 8
7
6
5
4
3
2
1
Potęga
2
7
2
6
2
5
2
4
2
3
2
2
2
1
2
0
Wartość
128
64
32
16
8
4
2
1
Aby zamienić liczbę 88 na liczbę dwójkową, postępujemy zgodnie z tą samą procedurą: w 88 nie
ma 128-ek, więc w kolumnie ósmej wpisujemy cyfrę 0.
W 88 jest jedna sześćdziesiątka czwórka, więc do kolumny 7 wpisujemy cyfrę 1. Zostaje nam
reszta wynosząca 24. W 24 nie ma trzydziestek dwójek, więc kolumna 6 zawiera cyfrę 0.
W 24 mieści się jedna szesnastka, więc kolumna pięć zawiera cyfrę 1. Pozostaje nam reszta 8. W 8
jest jedna ósemka, więc kolumna 4. będzie zawierać cyfrę 1. Nie ma już żadnej reszty, więc
pozostałe kolumny będą zawierać zera.
Kolumna
8
7
6
5
4
3
2
1
Potęga
2
7
2
6
2
5
2
4
2
3
2
2
2
1
2
0
Wartość
128
64
32
16
8
4
2
1
88
dwójkowo
0
1
0
1
1
0
0
0
Wartość
0
64
0
16
8
0
0
0
Aby sprawdzić wynik, zamieńmy to z powrotem na liczbę o podstawie dziesięć:
1 * 64 = 64
0 * 32 = 0
1 * 16 = 16
1 * 8 = 8
0 * 4 = 0
0 * 2 = 0
0 * 1 = 0
88
Dlaczego podstawa 2?
Podstawa 2 pełni ważną rolę w programowaniu, gdyż dokładnie odpowiada temu, co może być w
komputerze reprezentowane. Komputery w rzeczywistości nie wiedzą nic o literach, cyfrach,
instrukcjach czy programach. W swoim rdzeniu są jedynie układami elektronicznymi, w których w
danym punkcie może występować większe albo bardzo małe napięcie.
Aby zachować prostotę konstrukcji, inżynierowie nie traktują napięcia jako skali relatywnej
(niskie napięcie, wyższe napięcie, bardzo wysokie napięcie czy ogromne napięcie), ale raczej jako
skalę o dwóch stanach („napięcie wystarczające” lub „napięcie niewystarczające”). Zamiast jednak
mówić „wystarczające” lub „niewystarczające”, mówią po prostu „tak” lub „nie”. Tak lub nie,
czyli prawda lub fałsz, może być reprezentowane jako 1 lub 0. Zgodnie z konwencją, 1 oznacza
prawdę lub Tak, ale to tylko konwencja; równie dobrze mogłoby oznaczać fałsz lub Nie.
Gdy zauważysz tę regułę, potęga systemu dwójkowego objawi się w całej okazałości: za pomocą
zer i jedynek można oddać stan każdego układu (jest napięcie lub go nie ma). Wszystkie
komputery znają tylko dwa stany: włączony = 1 oraz wyłączony = 0.
Plik z chomika:
skiper78
Inne pliki z tego folderu:
r00-05.pdf
(44 KB)
r01-06.pdf
(378 KB)
r02-06.pdf
(277 KB)
r03-06.pdf
(398 KB)
r04-06.pdf
(419 KB)
Inne foldery tego chomika:
C++Builder 5 !
Zgłoś jeśli
naruszono regulamin