Zawartość
Ponieważ system liczb binarnych ma tylko dwa symbole - 1 i 0 - reprezentujące liczby ujemne nie jest tak proste, jak dodanie znaku minus z przodu. Istnieją jednak proste sposoby reprezentowania liczby ujemnej w postaci binarnej. W tym artykule zostaną przedstawione trzy rozwiązania tego problemu.
Użyj bitu znakowego
Wybierz liczbę bitów, których użyjesz do przedstawienia liczb binarnych. Ośmiobitowa liczba jest od dawna używana jako standard. Był to oryginalny rozmiar liczby całkowitej w programowaniu komputerowym. Oczywiście są też długie liczby całkowite (16 bitów). Uwaga: jeśli użyjesz ośmiobitowej liczby całkowitej, wówczas tylko siedem bitów zostanie użytych do przedstawienia twojej rzeczywistej liczby.
Wybierz lewy bit, który ma służyć jako bit znaku. Jeśli bit ma wartość 0, liczba jest dodatnia. Jeśli jest to 1, liczba jest ujemna.
Wpisz liczbę ujemną, używając wszystkich ośmiu bitów. Dlatego liczba -5 byłaby zapisana jako 10000101.
Korzystanie z komplementu 1s
Wpisz liczbę w formacie binarnym, tak jakbyś był dodatni. Ponownie wpisz 5 jako 00000101, zakładając, że używamy ośmiobitowych liczb całkowitych.
Odwróć cyfry - tj. Zera idą do zera, a zera do zera. Dlatego 5 staje się 11111010.
Użyj bitu najbardziej z lewej strony jako bitu znakowego. Tak jak w przypadku korzystania z bitu znakowego, wszystkie liczby dodatnie będą miały bit wiodący 0 (zapisany w formacie 8-bitowym), podczas gdy wszystkie liczby ujemne będą zawierały wiodący 1. Aby użyć liczby, użyj informacji o bicie znakowym i odwróć cyfry z powrotem dla wartości liczbowej.
Korzystanie z komplementu 2s
Wpisz liczbę tak, jakbyś był dodatni, używając wszystkich ośmiu bitów. Więc 5 to 00000101.
Odwróć bity, zmieniając jedynki i zera, tak jak w przypadku komplementu z jedynkami. Zatem ponownie 5 zmienia się w 11111010.
Dodaj 1 do swojego numeru. Zatem 5 staje się 11111010 + 00000001 = 11111011.
Sprawdź swoją odpowiedź. Liczba 11111011 byłaby przeliczona z powrotem na bazę 10: -128 + 64 + 32 + 16 + 8 + 0 + 2 + 1 = -5.