Niepoprawną postacią zapisu liczby 77(8) jest
Odpowiedź 11011₍zm₎ jest właściwa jako wskazanie niepoprawnego zapisu liczby 77₍8₎. Najpierw warto przeliczyć liczbę ósemkową: $77_8 = 7 \cdot 8^1 + 7 \cdot 8^0 = 56 + 7 = 63_{10}$. Dlatego zapis 63₍10₎ pasuje. Zapis szesnastkowy 3F₍16₎ też jest równoważny, bo $3F_{16} = 3 \cdot 16 + 15 = 63_{10}$. Również 111111₍2₎ jest poprawne, ponieważ 63 dziesiętnie to sześć jedynek w systemie binarnym. Bardzo szybka metoda: każdą cyfrę ósemkową zamieniamy na 3 bity, więc 7₍8₎ = 111₍2₎, a 77₍8₎ = 111111₍2₎. Natomiast 11011₍zm₎ oznacza zapis znak-moduł, gdzie pierwszy bit jest znakiem. Bit 1 na początku oznacza liczbę ujemną, a moduł 1011₂ to 11₍10₎, więc mamy -11, nie 63. Moim zdaniem to dobry przykład, że w informatyce sama sekwencja bitów nie wystarcza — trzeba znać sposób kodowania. W praktyce dotyczy to procesorów, diagnostyki pamięci, protokołów sieciowych i analizy danych binarnych. Dobra praktyka branżowa jest taka, żeby zawsze podawać podstawę systemu lub format kodowania, np. binarny, szesnastkowy, U2 albo znak-moduł.
Jeżeli została wybrana odpowiedź inna niż 11011₍zm₎, to najpewniej pomyliły się dwa różne pojęcia: wartość liczby w systemie pozycyjnym oraz sposób kodowania liczby ze znakiem. Liczba 77₍8₎ nie oznacza siedemdziesiąt siedem dziesiętnie, tylko zapis ósemkowy. W systemie ósemkowym podstawa wynosi 8, więc wartość obliczamy jako $7 \cdot 8^1 + 7 \cdot 8^0$, co daje 63₍10₎. Z tego powodu 63₍10₎ jest poprawną postacią tej samej wartości, a nie błędem. Podobnie 3F₍16₎ jest poprawne, ponieważ litera F w systemie szesnastkowym ma wartość 15, więc 3 · 16 + 15 = 63. Tu często ktoś robi błąd, bo traktuje F jak zwykłą literę, a nie cyfrę systemu o podstawie 16. Zapis 111111₍2₎ również pasuje, bo suma wag bitów 32 + 16 + 8 + 4 + 2 + 1 daje 63. Można też zapamiętać praktycznie: jedna cyfra ósemkowa odpowiada dokładnie trzem bitom, więc 77₍8₎ zamienia się na 111111₂. Problemem jest dopiero 11011₍zm₎. Oznaczenie zm zwykle odnosi się do kodu znak-moduł. W takim kodzie pierwszy bit nie jest normalną wagą liczbową, tylko informuje o znaku. Jedynka z przodu oznacza wartość ujemną, a pozostałe bity 1011₂ tworzą moduł równy 11. Wynikiem jest więc -11₍10₎. Z mojego doświadczenia takie zadania dobrze uczą ostrożności: w sprzęcie komputerowym, asemblerze czy analizie ramek danych trzeba zawsze sprawdzać, czy patrzymy na zwykły system pozycyjny, czy na konkretny format reprezentacji liczby.