Kod dopełniający do dwóch

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

Kod dopełniający do dwóch to najczęściej stosowany sposób zapisu liczb całkowitych ze znakiem w systemie binarnym. Jego główną cechą jest możliwość reprezentowania zarówno liczb dodatnich, jak i ujemnych.

Najważniejsza cecha

Kod dopełniający do dwóch umożliwia reprezentację liczb ujemnych w systemie binarnym. Dlatego poprawna odpowiedź w pytaniu egzaminacyjnym to: liczby ujemne mogą być zapisane binarnie.

Jak rozpoznać znak liczby?

W zapisie na ustalonej liczbie bitów najstarszy bit pełni rolę bitu znaku:

  • 0 na początku oznacza liczbę nieujemną,
  • 1 na początku oznacza liczbę ujemną.

Przykład dla 8 bitów:

  • 00000101 = 5,
  • 11111011 = -5.

Jak utworzyć liczbę ujemną?

Aby zapisać liczbę ujemną w kodzie dopełniającym do dwóch:

  1. Zapisz wartość dodatnią binarnie.
  2. Odwróć wszystkie bity.
  3. Dodaj 1.

Przykład dla -5 na 8 bitach:

  • 5 = 00000101,
  • odwrócenie bitów: 11111010,
  • dodanie 1: 11111011.

Czyli 11111011 oznacza -5.

Zakres wartości

Dla n bitów kod dopełniający do dwóch pozwala zapisać liczby od:

  • -2^(n-1) do 2^(n-1)-1.

Dla 8 bitów zakres wynosi od -128 do 127.

Czego nie oznacza?

Kod dopełniający do dwóch nie jest metodą konwersji binarnego na dziesiętny ani binarnego na szesnastkowy. Nie jest też zwykłym odwróceniem bitów — po odwróceniu trzeba jeszcze dodać 1.