Dodatek E


System dwójkowy i szesnastkowy

 

Ten dodatek opisuje, jak komputery liczą w systemie dwójkowym.

Większość języków europejskich liczy, używając bardziej lub mniej regularny system dziesiętny — na przykład, w języku polskim szybko pojawiają się regularne grupy:

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ęć

i tak dalej, a staje się to jeszcze bardziej systematycznie dzięki używanym przez nas liczbom arabskim. Jednakże, jedynym powodem używania dziesięciu jest to, iż zdarzyło się nam posiadać dziesięć palców.

Zamiast używania systemu dziesiętnego z liczbą dziesięć jako podstawą w komputerach wykorzystuje się pewną postać dwójkową zwaną heksadecymalną (w skrócie hex), opartą o liczbę szesnaście. Ponieważ dostępne jest jedynie dziesięć cyfr w naszym systemie liczbowym, potrzebujemy sześciu dodatkowych, aby móc wykonywać obliczenia. Dlatego używamy A, B, C, D, E i F. A co jest za F? Tak samo jak u nas przy dziesięciu palcach zapisujemy 10 jako dziesięć, komputery zapisują 10 jako szesnaście. Ich system liczbowy wygląda na początku tak:

 

Hex

      

Dziesiętnie

0   zero
1   jeden
2   dwa
:   :
:   :
9   dziewięć - do tego miejsca jest tak samo jak u nas, ale dalej:
A   dziesięć
B   jedenaście
C   dwanaście
D   trzynaście
E   czternaście
F   piętnaście
10   szesnaś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
:   :
B4   sto osiemdziesiąt
:   :
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 chcesz, aby co do tego nie było żadnych wątpliwości, to na końcu liczby dodajesz "h". Na przykład sto pięćdziesiąt osiem zapisujesz jako "9Eh" i wymawiasz "dziewięć E heks".

Będziesz się zastanawiał, co to wszystko ma wspólnego z komputerami. W rzeczy samej komputery zachowują się tak, jakby znały tylko dwie cyfry, reprezentowane wewnętrznie przez niskie napięcie (0) oraz wysokie napięcie (1). Nazywa się to systemem dwójkowym, a te dwie cyfry dwójkowe są nazywane bitami, więc bit to albo 0, albo 1.

W tych różnych systemach początkowe liczby to:

 

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żną rzeczą jest to, iż szesnaście jest równe dwa do czwartej potęgi, a to pozwala dokonywać konwersji pomiędzy systemem szesnastkowym i dwójkowym w bardzo prosty sposób.

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

Aby zamienić liczbę dwójkową na szesnastkową, podziel ją na grupy czterobitowe, poczynając od strony prawej, a następnie każdą z tych grup zastąp odpowiadającą jej cyfrą szesnastkową z powyższej tabeli.

Z tego powodu, chociaż ściśle mówiąc komputery używają czystego systemu dwójkowego, ludzie często zapisują przy pomocy zapisu szesnastkowego liczby przechowywane wewnątrz komputera.

Bity wewnątrz komputera są w większości połączone w grupy po osiem, zwane bajtami. Pojedynczy bajt może reprezentować dowolną liczbę od zera do dwustu pięćdziesięciu pięciu (11111111 lub FFh), lub zastępczo dowolny znak ze zbioru znaków ZX Spectrum. Jego wartość można zapisać za pomocą dwóch cyfr szesnastkowych.

Dwa bajty można połączyć w grupę, którą technicznie nazywamy słowem. Słowo da się zapisać przy pomocy szesnastu bitów lub czterech cyfr szesnastkowych i reprezentuje liczbę od 0 do (dziesiętnie) 216-1=65535.

Bajt to zwykle zawsze osiem bitów, lecz słowa mogą różnić się długością z komputera na komputer.

Zapis BIN z Rozdziału 14 udostępnia sposób zapisu liczb dwójkowo na ZX Spectrum. BIN 0 odpowiada wartości zero, BIN 1 reprezentuje jeden, BIN 10 reprezentuje dwa, itd.

Do zapisu wolno ci używać tylko cyfry 0 i 1, zatem liczba musi być dodatnią liczbą całkowitą; przykładowo nie wolno ci zapisać BIN -11 dla minus trzech, zamiast tego musisz zapisać -BIN 11. Liczba również nie może być większa od wartości dziesiętnej 65535 — tj. nie może posiadać więcej niż szesnaście bitów.

W rzeczywistości funkcja ATTR jest dwójkowa. Jeśli przekształcisz jej wynik na system dwójkowy, to osiem bitów możesz potraktować jako:

 

Pierwsze 1 jest przy mruganiu, 0 przy normalnym wyświetlaniu.

Drugie 1 jest przy zwiększonej jasności, 0 przy normalnej.

Następne trzy bity są kodem koloru tła, zapisanym dwójkowo.

Ostatnie trzy bity są kodem koloru tuszu, zapisanym dwójkowo.

 

Kody kolorów również wykorzystują system dwójkowy: każdy kod dwójkowo może być zapisany jako trzy bity, pierwszy dla zielonego, drugi dla czerwonega i trzeci dla niebieskiego.

Czarny nie zawiera żadnego koloru, zatem wszystkie te bity mają wartość 0 (wyłączony). Stąd kod koloru czarnego to dwójkowo 000 lub zero.

Czyste kolory: zielony, czerwony i niebieski, mają ustawiony na 1 tylko jeden bit z trzech. Ich kody to 100, 010 i 001 dwójkowo lub cztery, dwa i jeden.

Pozostałe kolory są mieszaniną tych podstawowych, więc ich kody dwójkowe posiadają dwa lub trzy bity 1.

 

 


   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