30 Zrozumieć Asembler
nym systemie liczbowym i mogą spowodować poważne pomyłki. Dla rozróżnienia liczbę 11 w systemie szesnastkowym zapisywaną zwykle 11H nazywamy „jeden jeden hex”. Nie zapomnij dodawać „hex” po liczbie szesnastkowej, bo możesz sobie narobić kłopotów. Można to opuszczać jedynie przy liczbach od 0 do 9, gdyż mają one dokładnie takie same wartości w obu systemach.
Wielu ludzi mówi „dwanaście Hex”, co jest poprawnym określeniem i oznacza osiemnaście dziesiętnie. Ja jednak odradzałbym takie określanie.
Jak już wiemy, każda kolejna kolumna w systemie szesnastkowym ma wartość kolumny znajdującej się z prawej strony przemnożonej przez 16. Oczywiście tak jak w każdym innym systemie, pierwsza, czyli prawa skrajna kolumna ma wartość 1, jest kolumną jednostek. Jak łatwo sobie wyobrazić, wartości kolejnych kolumn wzrastają bardzo szybko w kierunku od prawej do lewej. W tabeli 1.6 przedstawione są wartości pierwszych siedmiu kolumn systemu szesnastkowego. Dla porównania zwróć uwagę, że siódma kolumna systemu dziesiętnego ma wartość 1 000 000, natomiast w systemie szesnastkowym siódma kolumna ma wartość 16 777 216.
Tabela 1.6. Kolumny liczbowe systemu szesnastkowego są
potęgami 16
Szesnastkowo |
potęga 16 |
dziesiętnie | ||
1H |
— |
16° |
1 |
*16= |
10H |
— |
II 'O r-H |
16 |
*16= |
100H |
— |
162 |
256 |
*16= |
100H |
= |
163 |
4096 |
*16= |
10000H |
— |
164 |
65536 |
*16= |
100000H |
16* |
1048576 |
*16= | |
1000000H |
— |
16s |
16777216 |
itd |
Dla ułatwienia poznania budowy liczb szesnastkowych, na powyższym rysunku 1.3 przedstawiłem analizę typowej liczby szesnastkowej, podobnie jak to wcześniej zrobiliśmy z liczbą w marsjańskim systemie fooby i w systemie ósemkowym. Identycznie jak w innych systemach, 0 znajdujące się w jakiejś kolumnie powoduje, że wartość
Każda kolumna zawiera wartość szesnaście razy przemnożoną przez wartość kolumny z jej prawej strony
x 16 x 16 x 16 x 16
1 7 |
6 |
2 |
2 |
5 |
ilość |
ilość |
ilość |
ilość |
ilość |
65536 4096 256 1 6 1
9 AO 000 C000 +30000 3C0A9i6
Suma dziesiętnych ekwiwalentów wartości każdej kolumny jest dziesiętną wartością liczby
Rysunek 1.3. Anatomia liczby szesnastkowej
tej kolumny nie wchodzi w ogóle do wartości całej liczby. Na rysunku 1.3 dotyczy to kolumny o wartości 256, która nie jest w ogóle doliczana do wartości liczby 3COA9H.
Podobnie jak na poprzednich rysunkach, dziesiętny odpowiednik wartości każdej kolumny przedstawiony jest poniżej tej kolumny, a suma dla wszystkich kolumn podana jest zarówno w systemie dziesiętnym, jak i szesnastkowym.
Większość manipulacji na liczbach szesnastkowych sprowadza się do przekształcania liczb szesnastkowych na dziesiętne lub odwrotnie. Najprostszą metodą wykonania takich przekształceń jest wykorzysta-