My posługujemy się systemem dziesiętnym, ale tylko na co dzień. Ale jest jeszcze jeden system, który zrobił karierę i na pewno warsztatowcy spotykają się z nim na co dzień, nie zawsze zdając sobie z tego sprawy. Jest to system szesnastkowy. Dociekliwi szukają w podręcznikach do informatyki wiadomości na temat tych systemów zapisywania liczb i po wielu godzinach studiowania są w stanie cokolwiek zrozumieć. Warsztatowiec pracujący prawie cały dzień przy samochodach, przeważnie wraca na tyle zmęczony do domu, że wertowanie naukowych książek z wieloma wzorami i skomplikowanymi obliczeniami jest ponad jego siły. Można powiedzieć, że nie widzi on sensu oddawania się dodatkowym studiom. Dlatego tak jest, bo mechanik samochodowy nigdy nie będzie planował, obliczał i projektował magistrali przesyłu informacji w samochodzie. Stąd potrzeba takich artykułów, podających najważniejsze i krótkie wiadomości, a z drugiej strony wystarczające dla praktyka.
Przejdźmy teraz do bajtów. Każdy z nas wie ile ma RAM-u w komputerze (na przykład 500 kB), czy jakiej pojemności jest jego dysk twardy. Bajt jest to jednostka składająca się z ośmiu bitów (nie jest to zawsze prawda, ale mówimy o pewnych uproszczeniach). Bit to z kolei tak naprawdę najmniejsza jednostka, komórka, która może mieć wartość albo zero, albo jeden. Czyli jak połączymy osiem bitów, to mamy jeden bajt. Na przykład 11001011 zajmuje osiem pozycji, czyli jest to bajt (dokładniej oktet). Jest liczba 203 zapisana w sposób dwójkowy, tzn. do zapisu użyto tylko zer i jedynek. Jeżeli na magistrali cyfrowej znalazłaby się w jakiś cudowny sposób liczba 203, to żaden komputer nie potrafiłby zrozumieć o co chodzi. A jeżeli wprowadzimy 11001011, to natychmiast każdy sterownik odczyta to jako 203.
I oto niepostrzeżenie wkroczyliśmy w świat trzeciego systemu, systemu szesnastkowego. Popatrzymy się na przykład jakiejś liczby przypadkowej 707 (zapis dziesiętny). W zapisie dwójkowym mamy wygląd taki: 1011000011, a w szesnastkowym: 2C3. Skąd znamy taki szyfr? Przecież pełno jest takich znaczków w postach na forum dotyczących na przykład poduszek powietrznych. Sprytni koledzy piszą: wymień 2C3 na 5F7 pod danym adresem (te liczby są przypadkowe w naszym przykładzie). Przecież liczby muszą być zamieniane na litery lub całe słowa. Znając dany szyfr (język) jesteśmy w stanie odczytać, co dany autor miał na myśli, co wpisał do danej komórki pamięci. Sprytni koledzy przeważnie nie wnikają tak głęboko, po prostu porównują zawartość pamięci ze sterownika, który miał wypadek, ze sterownikiem bez kolizji. I znajdują gdzie jest zapisana informacja o zadziałaniu poduszek. Zauważmy, że świat posługuje się właśnie tym kodem szesnastkowym. Po podłączeniu do komputera pamięci ze sterownika (czyli odczytaniu zawartości pamięci przez programator), zobaczymy na ekranie komórki pamięci, a w nich liczby szesnastkowe. Każda taka liczba ma swoje współrzędne, swój adres. Koledzy wiedzą pod jakim adresem jest zapisany wypadek i na co go zamienić, aby oszukać sterownik. To wszystko jest opisywane w naszym artykule nie po to, aby oszukiwać sterowniki, ale po to, aby zrozumieć świat jaki nas otacza. Równie dobrze ktoś mógłby kontrolować fora i wyłapywać informacje, które nie są zgodne z etyką zawodową, a może nawet z prawem. Ale tak nie jest, dlatego powinniśmy wiedzieć co się wokół nas dzieje. Na forum podaje się też informacje, w jaki sposób zwiększyć zakres działania systemu komfortu, na przykład odblokować domykanie szyb. Jest wiele innych tematów, gdzie wymieniane są informacje na temat modyfikacji pamięci. Jeżeli interesuje nas zamienianie liczb z jednego systemu na drugi bez wysiłku, czyli własnych obliczeń, to polecam kalkulatory, w których są takie przeliczenia (każdy kalkulator komputerowy).
Na koniec (ale tylko tego odcinka) warto zwrócić uwagę na sposób, w jaki są zaznaczane liczby zapisane w systemie szesnastkowym. Może być to indeks na końcu, typu literka „h” lub „H” (od słowa heksagonalny, czyli szesnastkowy). Może być użyty skrót „hex”, albo liczba „16”. Inne sposoby to umieszczanie dolara przed liczbą „$”, duże iks „X”, albo „0x”. Są to oznaczenia mówiące nam, że ta liczba jest zapisana w systemie szesnastkowym. A czyż nie przypominamy sobie odczytywanie w skanerze danych w systemie EOBD, a przed opisem znaczki z dolarem? Ale o tym za miesiąc.
Stanisław Mikołaj
Słupski Prive
Komentarze (0)