Przejdź do głównej treści

Kwalifikacja: INF.02 - Administracja i eksploatacja systemów komputerowych, urządzeń peryferyjnych i lokalnych sieci komputerowych

Zawód: Technik informatyk

Kategorie: Sprzęt komputerowy Podstawy informatyki

Przedrostek 0x poprzedzający liczbę (np. 0x1F) oznacza zapis liczby w systemie

A. heksadecymalnym.
B. binarnym.
C. oktalnym.
D. dziesiętnym.
Przedrostek 0x oznacza zapis liczby w systemie heksadecymalnym, czyli szesnastkowym. To bardzo popularna konwencja w informatyce, spotykana m.in. w językach C, C++, Java, Python, w dokumentacji procesorów, adresach pamięci, rejestrach sprzętowych i przy analizie danych binarnych. System heksadecymalny ma podstawę 16, więc używa cyfr 0-9 oraz liter A-F, gdzie A oznacza 10, B oznacza 11, aż do F oznaczającego 15. Przykład 0x1F to 1 × 16 + 15 = 31 w systemie dziesiętnym. Moim zdaniem to jedna z tych rzeczy, które warto umieć odruchowo, bo bardzo ułatwia czytanie dokumentacji technicznej. Bajt można wygodnie zapisać jako dwie cyfry hex, np. 0xFF to 255, czyli osiem jedynek w zapisie binarnym. Dobra praktyka branżowa jest taka, żeby przy liczbach nie-dziesiętnych jasno zaznaczać podstawę systemu, bo inaczej łatwo o pomyłkę w konfiguracji, debugowaniu albo podczas pracy z niskopoziomowym sprzętem.
Jeżeli przy liczbie widzisz przedrostek 0x, nie chodzi o zapis oktalny, binarny ani zwykły dziesiętny. To jest właśnie zapis heksadecymalny, czyli o podstawie 16. Częsty błąd polega na tym, że ktoś patrzy na początkowe 0 i kojarzy je z systemem ósemkowym. Faktycznie, w części języków programowania dawniej liczby zaczynające się od samego zera mogły oznaczać zapis oktalny, np. 037. W nowszych i czytelniejszych zapisach często stosuje się 0o dla oktalnego, czyli np. 0o37. Jednak obecność litery x po zerze całkowicie zmienia znaczenie i wskazuje na hexadecimal.

Zapis binarny również ma własną typową konwencję: najczęściej używa się przedrostka 0b, na przykład 0b11111. W systemie binarnym występują tylko cyfry 0 i 1, więc zapis 0x1F nie mógłby być binarny, bo zawiera literę F. System dziesiętny zwykle zapisujemy bez dodatkowego przedrostka, po prostu jako 31 albo 255. Mylenie tych systemów bywa problematyczne praktycznie, szczególnie przy adresach pamięci, maskach bitowych, kodach kolorów, uprawnieniach czy konfiguracji sprzętu. Z mojego doświadczenia najbezpieczniej jest zapamiętać trzy proste skojarzenia: 0b to binary, 0o to octal, a 0x to hex. Trochę dziwnie wygląda na początku, ale potem bardzo pomaga w czytaniu kodu i dokumentacji.

Wymagane logowanie

Ocenianie trudności pytań jest dostępne tylko dla zalogowanych użytkowników. Zaloguj się, aby skorzystać z pełni możliwości platformy.

Twoja ocena pomoże innym uczniom w przygotowaniu do egzaminu, a Tobie pozwoli na dostęp do spersonalizowanych statystyk.

Zgłoś błąd w pytaniu

Rozwiń sekcję i zmień pole, którego dotyczy błąd. Wysłane zostaną tylko zmienione sekcje.

Błędna kwalifikacja
Błąd w treści pytania
Błąd w treści odpowiedzi
Błąd w obrazie
Dane kontaktowe (opcjonalnie)
Podaj email, jeśli chcesz otrzymać informację o rozpatrzeniu zgłoszenia.