Dobra robota, ta odpowiedź idealnie trafia w sedno zagadnienia! Liczba szesnastkowa 110ₕ to w systemie dziesiętnym wartość 272. Teraz, żeby zapisać tę liczbę w systemie binarnym, musimy znaleźć, ile bitów potrzeba, żeby pomieścić tę wartość. Największa liczba, jaką można zapisać na 8 bitach, to 255 (czyli 2⁸ - 1). 272 jest już większe, więc 8 bitów nie wystarczy. Trzeba iść poziom wyżej: 2⁹ = 512, więc 9 bitów pozwala już zapisać liczby od 0 do 511. To właśnie te 9 bitów daje nam odpowiedni zakres. W praktyce, jeśli projektuje się układy cyfrowe czy programuje mikrokontrolery, zawsze warto pamiętać o takim podejściu – nie tylko przy zamianie systemów liczbowych, ale też przy planowaniu rejestrów pamięci czy buforów. W dokumentacji technicznej często spotyka się określenie „minimalna liczba bitów wymagana do przechowania wartości” – to dokładnie to, co właśnie policzyliśmy. Moim zdaniem takie zadania uczą nie tylko logiki, ale też szacowania zasobów sprzętowych, co jest bardzo konkretne w codziennej pracy technika czy programisty. Swoją drogą, niektórzy błędnie myślą, że wystarczy tyle bitów, ile cyfr w systemie szesnastkowym, ale tu wyraźnie widać, że trzeba zawsze przeliczyć wartość na binarną i porównać zakresy.
Wydaje mi się, że wiele osób tutaj daje się złapać na pewne uproszczenia albo nie do końca rozumie relację między systemami liczbowymi. Zacznijmy od tego: liczba szesnastkowa 110ₕ to nie jest to samo co liczba 110 w systemie dziesiętnym. Szesnastkowe 110 to 1×16² + 1×16¹ + 0×16⁰, co daje nam 272 w systemie dziesiętnym. Teraz, jeżeli ktoś wybrał 3 lub 4 bity, to prawdopodobnie pomyślał, że każda cyfra szesnastkowa odpowiada jednemu bajtowi lub bitowi, ale szesnastkowa cyfra to dokładnie 4 bity (od 0 do F, czyli 0-15), tylko że liczba 110ₕ ma trzy cyfry, a nie jedną, i jej wartość przekracza zakres, który można zapisać na nawet 8 bitach (maksymalnie 255). Tu pojawia się częsty błąd myślowy – zbyt dosłowne traktowanie przelicznika „1 cyfra = 4 bity”. Tak naprawdę trzeba policzyć pojemność systemu binarnego, czyli znaleźć najmniejszą potęgę dwójki, która obejmie naszą liczbę. 2⁸ to za mało, bo 272 się tam nie mieści, trzeba więc 2⁹, czyli 9 bitów. Wybierając 16 bitów, można było pomyśleć, że każda liczba szesnastkowa to osobny bajt lub że warto wziąć z zapasem, ale to byłoby nieefektywne pod względem wykorzystania pamięci – a przecież w branży IT zawsze chodzi o optymalizację. Praktycy, szczególnie na poziomie sprzętowym, wiedzą, że dobiera się pojemność tak, by nie marnować miejsca, stąd wybór 9 bitów i żadne inne rozwiązanie nie jest tutaj zasadne. Takie zadania uczą nie tylko konwersji, ale i praktycznej świadomości pracy z ograniczonymi zasobami, co w technice komputerowej jest na wagę złota.