Rozdział 24 - Liczenie na palcach

Następny rozdział zagłębia się nieco do wnętrza komputera, lecz zanim do niego przejdziemy, powiemy sobie nieco, w jaki sposób komputery wykonują obliczenia: robią to wykorzystując system dwójkowy, co oznacza, iż nie posiadają one żadnych palców - tylko kciuki.

Większość europejskich języków liczy wykorzystując mniej lub bardziej regularne wzory dziesiątek. Na przykład w języku polskim, chociaż początek jest nieco nieregularny, wkrótce pojawiają się regularne grupy liczebników:

dwadzieścia, dwadzieścia jeden, dwadzieścia dwa, ..., dwadzieścia dziewięć
trzydzieści, trzydzieści jeden, trzydzieści dwa, ..., trzydzieści dziewięć
czterdzieści, czterdzieści jeden, czterdzieści dwa,..., czterdzieści dziewięć

itd., co staje się jeszcze bardziej regularne dzięki używanym przez nas liczbom arabskim. Jednakże jedynym powodem używania liczby dziesięć wydaje się być fakt posiadania przez nas dziesięciu palców u rąk (Majowie mieli do dyspozycji jeszcze palce u stóp - w ciepłym klimacie chodzono boso - i dlatego u nich podstawą liczenia była liczba 20, a nie 10 - przyp. tłumacza).

Załóżmy teraz, iż Marsjanie posiadają po trzy dodatkowe palce u każdej ręki (o ile można je nazwać palcami): zatem zamiast używać naszego systemu dziesiętnego, z liczbą dziesięć jako jego podstawą, używają oni systemu szesnastkowego (w skrócie hex, od heksadecymalny), opartego na liczbie szesnaście. Potrzebują dodatkowo 6 cyfr szesnastkowych do dziesięciu cyfr, których używamy my, a wybrali sobie na nie litery alfabetu A, B, C, D, E i F. A co mają za F? Tak jak my, z dziesięcioma palcami, zapisujemy 10 dla dziesięciu, tak oni, z szesnastoma palcami, zapisują 10 dla szesnastu. Ich system rozpoczyna się od:

Hex polski
0 zero
1 jeden
2 dwa
: :
: :
9 dziewięć

tak jak nasz system, lecz dalej jest:

A dziesięć
B jedenaście
C dwanaście
D trzynaście
E czternaście
F piętnaście
10 szesnaście
11 siedemnaście
: :
: :
19 dwadzieścia pięć
1A dwadzieścia sześć
1B dwadzieścia siedem
: :
: :
1F trzydzieści jeden
20 trzydzieści dwa
21 trzydzieści trzy
: :
: :
9E sto pięćdziesiąt osiem
9F sto pięćdziesiąt dziewięć
A0 sto sześćdziesiąt
A1 sto sześćdziesiąt jeden
: :
: :
FE dwieście pięćdziesiąt cztery
FF dwieście pięćdziesiąt pięć
100 dwieście pięćdziesiąt sześć

 

Jeśli stosujesz zapis szesnastkowy i chciałbyś, aby było to jasne, to dopisz na końcu liczby literkę "h". Na przykład, dla stu pięćdziesięciu ośmiu zapisz 9Eh i czytaj "dziewięć E szesnastkowo".

Zastanawiasz się, co to wszystko ma wspólnego z komputerami. Właściwie komputery zachowują się tak, jakby posiadały tylko dwa palce, reprezentowane przez niskie napięcie, wyłączone (0), i wysokie napięcie, włączone (1). Nazywamy to systemem dwójkowym, a te dwie cyfry dwójkowe są zwane bitami: zatem bit to albo 0, albo 1.

W różnych systemach liczenie rozpoczyna się następująco:

polski dziesiętny szesnastkowy dwójkowy
zero   0   0 0 lub 0000
jeden   1   1 1 lub 0001
dwa   2   2 10 lub 0010
trzy   3   3 11 lub 0011
cztery   4   4 100 lub 0100
pięć   5   5 101 lub 0101
sześć   6   6 110 lub 0110
siedem   7   7 111 lub 0111
osiem   8   8 1000
dziewięć   9   9 1001
dziesięć 10  A 1010
jedenaście 11  B 1011
dwanaście 12  C 1100
trzynaście 13  D 1101
czternaście 14  E 1110
piętnaście 15  F 1111
szesnaście 16 10 10000

Ważnym faktem jest to, iż szesnaście równa się dwa podniesione do potęgi cztery, co sprawia, iż konwersja pomiędzy liczbami szesnastkowymi a dwójkowymi jest bardzo prosta.

Aby zamienić liczbę szesnastkową na dwójkową, zamień każdą jej cyfrę na cztery bity wykorzystując powyższą tabelkę.

Aby zamienić liczbę dwójkową na szesnastkową, podziel ją na grupy czterobitowe poczynając od prawej strony i każdą z nich zastąp odpowiednią cyfrą szesnastkową.

Z tego powodu, pomimo używania przez komputery czystego systemu dwójkowego, ludzie często zapisują liczby przechowywane w komputerze używając zapisu szesnastkowego.

Bity wewnątrz komputera najczęściej są zebrane w grupy po osiem lub inaczej bajty. Pojedynczy bajt może reprezentować dowolną liczbę od zera do dwustu pięćdziesięciu pięciu (dwójkowo 11111111 lub szesnastkowo FFh) lub dowolny znak w zbiorze znaków ZX81. Jego wartość może być zapisana dwoma cyframi szesnastkowymi.

Dwa bajty mogą być połączone razem tworząc słowo. Słowo można zapisać przy pomocy szesnastu bitów lub czterech cyfr szesnastkowych i reprezentuje ono liczbę od 0 (dziesiętnie) do 216-1 = 65535.

Bajt zawsze ma osiem bitów, lecz długość słowa zmienia się dla różnych komputerów.

 

 

Podsumowanie

Systemy dziesiętny, szesnastkowy i dwójkowy.

Bity i bajty (nie myl ich ze sobą) i słowa

 

 

Ćwiczenia

  1. Jednostką marsjańskiej waluty jest funt, a dzieli się on na szesnaście uncji. Jak zamieniałbyś funty i uncje na uncje i na odwrót:

(i) gdyby wszystkie liczby zapisane były w systemie dziesiętnym?
(ii) gdyby wszystkie liczby zapisane były w systemie szesnastkowym?

 

 

  1. Jak zamieniałbyś liczby pomiędzy systemem dziesiętnym a szesnastkowym (wskazówka: ćwiczenie 1)?

 

 

  1. Załóżmy, iż Wenusjanie mają w sumie osiem palców, bez kciuków, jakie ich system ósemkowy mógłby mieć zastosowanie w komputerach?

 

 


   I Liceum Ogólnokształcące   
im. Kazimierza Brodzińskiego
w Tarnowie

©2018 mgr Jerzy Wałaszek

Dokument ten rozpowszechniany jest zgodnie z zasadami licencji
GNU Free Documentation License.

Pytania proszę przesyłać na adres email: i-lo@eduinf.waw.pl

W artykułach serwisu są używane cookies. Jeśli nie chcesz ich otrzymywać,
zablokuj je w swojej przeglądarce.
Informacje dodatkowe