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
-128do127.
Jak zapisać liczbę ujemną w U2?
Aby zapisać liczbę ujemną, np. -5, w formacie 8-bitowym:
- Zapisz wartość dodatnią
5binarnie na 8 bitach:
00000101
- Odwróć wszystkie bity:
11111010
- 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.