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:
0na początku oznacza liczbę nieujemną,1na 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:
- Zapisz wartość dodatnią binarnie.
- Odwróć wszystkie bity.
- 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)do2^(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.