Oznaczenie U2 (uzupełnienie do dwóch) mówi, że liczba binarna ma być interpretowana jako liczba całkowita ze znakiem w kodzie uzupełnień do dwóch. Ponieważ zapis ma 8 bitów, traktujemy go jak wartość 8-bitową (bajt). W takim zapisie najbardziej znaczący bit (MSB) jest bitem znaku: 0 oznacza liczbę dodatnią, a 1 – ujemną.
Dla 11110101 MSB=1, więc to liczba ujemna. Aby obliczyć jej wartość dziesiętną, stosuje się standardową procedurę dla U2:
- Inwersja bitów (zamiana 0↔1): 11110101 → 00001010.
- Dodanie 1: 00001010 + 1 = 00001011.
- Odczyt wartości 00001011 w systemie dziesiętnym: to 11.
- Nadanie znaku "minus", bo wyjściowo MSB=1: wynik to -11.
Dlaczego pozostałe odpowiedzi są błędne? Wartość 245 powstaje wtedy, gdy potraktuje się 11110101 jako liczbę bez znaku (unsigned) i zsumuje wagi bitów (128+64+32+16+4+1). To jednak stoi w sprzeczności z oznaczeniem U2. Odpowiedź -245 jest dodatkowo nielogiczna w kontekście 8-bitowego U2, bo taki zakres obejmuje tylko wartości od -128 do 127. Odpowiedź 11 ignoruje bit znaku i fakt, że w U2 MSB=1 oznacza liczbę ujemną.
W praktyce kod U2 jest powszechnie stosowany w procesorach i językach programowania do reprezentacji typów całkowitych ze znakiem, dlatego umiejętność takiej konwersji jest podstawą dalszych tematów (przepełnienia, operacje bitowe, interpretacja danych w bajtach).