Kod uzupełnień do dwóch (U2)

Słownik kwalifikacji INF.04 - Projektowanie, programowanie i testowanie aplikacji

Kod uzupełnień do dwóch, często oznaczany jako U2, to najczęściej stosowany sposób zapisu liczb całkowitych ze znakiem w systemie binarnym. Pozwala zapisywać zarówno liczby dodatnie, jak i ujemne oraz wygodnie wykonywać działania arytmetyczne w procesorze.

Bit znaku

W zapisie U2 najbardziej znaczący bit, czyli pierwszy bit z lewej, informuje o znaku liczby:

  • 0 — liczba nieujemna,
  • 1 — liczba ujemna.

Dla 8 bitów zakres liczb w kodzie U2 wynosi:

  • od -128 do 127.

Jak zapisać liczbę ujemną w U2?

Aby zapisać liczbę ujemną, np. -5, w formacie 8-bitowym:

  1. Zapisz wartość dodatnią 5 binarnie na 8 bitach:
00000101
  1. Odwróć wszystkie bity:
11111010
  1. Dodaj 1:
11111010
+00000001
---------
11111011

Zatem liczba -5 w kodzie U2 na 8 bitach ma postać:

11111011

Jak sprawdzić wynik?

Jeśli liczba zaczyna się od 1, jest ujemna. Aby odczytać jej wartość bezwzględną, można ponownie wykonać operację U2: odwrócić bity i dodać 1.

Dla 11111011:

00000100
+00000001
---------
00000101 = 5

Czyli liczba to -5.

Typowy błąd egzaminacyjny

Odpowiedź 00000101 oznacza +5, a nie -5. Samo ustawienie pierwszego bitu na 1, np. 10000101, również nie jest poprawnym zapisem U2 liczby -5.