Reprezentacja liczb binarnych
Możemy podzielić liczby binarne na następujące dwie grupy - Unsigned numbers i Signed numbers.
Unsigned Numbers
Liczby bez znaku zawierają tylko wielkość liczby. Nie mają żadnego znaku. Oznacza to, że wszystkie liczby binarne bez znaku są dodatnie. Podobnie jak w systemie liczb dziesiętnych, umieszczenie znaku dodatniego przed liczbą jest opcjonalne w przypadku liczb dodatnich. Dlatego wszystkie liczby dodatnie, w tym zero, mogą być traktowane jako liczby bez znaku, jeśli przed liczbą nie jest przypisany znak dodatni.
Podpisane numery
Podpisane liczby zawierają zarówno znak, jak i wielkość liczby. Zwykle znak jest umieszczony przed liczbą. Musimy więc wziąć pod uwagę znak dodatni dla liczb dodatnich i znak ujemny dla liczb ujemnych. Dlatego wszystkie liczby mogą być traktowane jako liczby ze znakiem, jeśli przed numerem zostanie nadany odpowiedni znak.
Jeśli bit znaku wynosi zero, oznacza to, że liczba binarna jest dodatnia. Podobnie, jeśli bit znaku wynosi jeden, co wskazuje, że liczba binarna jest ujemna.
Reprezentacja niepodpisanych liczb binarnych
Bity obecne w nieznakowanej liczbie binarnej zawierają rozszerzenie magnitudeliczby. Oznacza to, że jeśli liczba binarna bez podpisu zawiera‘N’ bity, a potem wszystko N bity reprezentują wielkość liczby, ponieważ nie ma ona żadnego bitu znaku.
Example
Weź pod uwagę decimal number 108. Binarny odpowiednik tej liczby to1101100. To jest reprezentacja liczby binarnej bez znaku.
(108) 10 = (1101100) 2
Ma 7 bitów. Te 7 bitów reprezentuje wielkość liczby 108.
Reprezentacja podpisanych liczb binarnych
Najbardziej znaczący bit (MSB) liczb binarnych ze znakiem jest używany do wskazania znaku liczb. Stąd jest również nazywany jakosign bit. Znak dodatni jest reprezentowany przez umieszczenie „0” w bicie znaku. Podobnie znak ujemny jest reprezentowany przez umieszczenie „1” w bicie znaku.
Jeśli liczba binarna ze znakiem zawiera „N” bitów, to (N-1) bitów reprezentuje tylko wielkość liczby, ponieważ jeden bit (MSB) jest zarezerwowany do reprezentowania znaku liczby.
Są trzy types of representations dla liczb binarnych ze znakiem
- Formularz Znak-Wielkość
- Forma uzupełnienia 1
- Forma uzupełnienia 2
Reprezentacja liczby dodatniej we wszystkich tych 3 formach jest taka sama. Ale tylko reprezentacja liczby ujemnej będzie się różnić w każdej postaci.
Example
Weź pod uwagę positive decimal number +108. Binarny odpowiednik wielkości tej liczby to 1101100. Te 7 bitów reprezentuje wielkość liczby 108. Ponieważ jest to liczba dodatnia, traktuj bit znaku jako zero, który znajduje się po lewej stronie wielkości.
(+108) 10 = (01101100) 2
Dlatego też signed binary representationdodatniej liczby dziesiętnej +108 wynosi. Tak więc ta sama reprezentacja jest poprawna w postaci znaku-wielkości, postaci uzupełnienia 1 i formy uzupełnienia 2 dla dodatniej liczby dziesiętnej +108.
Formularz Znak-Wielkość
W postaci wielkości znaku MSB służy do reprezentowania sign liczby, a pozostałe bity reprezentują magnitudeliczby. Więc po prostu dołącz bit znaku po lewej stronie liczby binarnej bez znaku. Ta reprezentacja jest podobna do reprezentacji liczb dziesiętnych ze znakiem.
Example
Weź pod uwagę negative decimal number -108. Wielkość tej liczby wynosi 108. Wiemy, że binarna reprezentacja liczby 108 bez znaku to 1101100. Ma 7 bitów. Wszystkie te bity reprezentują wielkość.
Ponieważ podana liczba jest ujemna, traktuj bit znaku jako jeden, który znajduje się po lewej stronie wielkości.
(−108) 10 = (11101100) 2
Dlatego reprezentacja wielkości znaku -108 wynosi 11101100.
Forma uzupełnienia 1
Uzupełnienie liczby do 1 uzyskuje się przez complementing all the bitsliczby binarnej ze znakiem. Tak więc uzupełnienie liczby dodatniej 1 daje liczbę ujemną. Podobnie, uzupełnienie 1 liczby ujemnej daje liczbę dodatnią.
Oznacza to, że jeśli wykonasz uzupełnienie dwa razy 1 liczby binarnej, w tym bit znaku, otrzymasz oryginalną liczbę binarną ze znakiem.
Example
Weź pod uwagę negative decimal number -108. Wielkość tej liczby wynosi 108. Wiemy, że binarna reprezentacja 108 ze znakiem to 01101100.
Ma 8 bitów. MSB tej liczby wynosi zero, co oznacza liczbę dodatnią. Dopełnienie zera to jedynka i odwrotnie. Więc zamień zera na jedynki i jedynki na zera, aby uzyskać liczbę ujemną.
(−108) 10 = (10010011) 2
Dlatego też 1’s complement of (108)10 jest (10010011)2.
Forma uzupełnienia 2
Uzupełnienie liczby binarnej do liczby dwójkowej uzyskuje się przez adding one to the 1’s complementliczby binarnej ze znakiem. Tak więc uzupełnienie liczby dodatniej do 2 daje liczbę ujemną. Podobnie, uzupełnienie liczby ujemnej do 2 daje liczbę dodatnią.
Oznacza to, że jeśli wykonasz dwa razy uzupełnienie do 2 liczby binarnej, w tym bit znaku, otrzymasz oryginalną liczbę binarną ze znakiem.
Example
Weź pod uwagę negative decimal number -108.
Znamy uzupełnienie do jedynki (108)10 jest (10010011)2
Komplement 2 z (108) 10 = komplement 1 z (108) 10 + 1.
= 10010011 + 1
= 10010100
Dlatego też 2’s complement of (108)10 jest (10010100)2.