informatyka:podstawy-dzialania-komputera:ujemne_liczby_dwojkowe

9 Zapisy Liczby dwójkowej ze znakiem

Istnieją następujące sposoby:

  • Znak moduł - ZM
  • Uzupełnienie do 1
  • Uzupełnienie do 2

Najlepszy i najczęściej używany jest uzupełnienie do 2 (U2)

Obok najstarszego bitu liczby (pierwszy od lewej) dodaję się bit znaku. Wynosi on 0 dla liczby dodatniej i 1 dla liczby ujemnej. Pozostałe bity reprezentują wartość bezwzględną liczby.

np liczba 12 to w systemie dwójkowym 1100 (0*1 + 0*2 + 1*4 + 1*8) (6 Dwójkowy system liczbowy)

liczba ta z znakiem plus w systemie znak moduł, zakładając że reprezentujemy ją w 8 - bitowej zmiennej wygląda tak:

0.0001100

liczba ta z znakiem minus będzie miała 1 na początku:

1.0001100

System ten nie jest najczęściej używany, ponieważ ma wady. Mamy w nim dwa zera 0 i -0.

Kolejnym kłopotem jest implementacja operacji arytmetycznych i innych rzeczy…

Liczby dodatnie zapisujemy tak jak w systemie znak moduł, ale gdy liczba jest ujemna następuje odwrócenie wszystkich bitów liczby ( zamiania zer na jedynki, i jedynek na zera)

przykład:

liczba 12 = 1100

+12 w systemie u1 - 0.0001100

-12 w systemie u2 - 1.1110011

Liczby dodatnie zapisujemy tak samo jak w systemie znak moduł i u1. A kiedy liczba jest ujemna robimy uzupełnienie do 1 (odwracamy wszystkie bity liczby) i dodajemy liczbę jeden.

przykład:

liczba 12 = 1100

+12 w systemie uzupełnienia do 2 :

0.0001100

-12 w systemie uzupełnienia do 2 = 1.1110100

Dlatego, że będzie ono “kompatybilne” z dodawaniem liczb bez znaków itp

8 Adder (Sumator)

Na przykład. -2 + (-3) = -5

-2 w systemie uzupełnienia do 2 to normalnie 14

-3 to 13

14 + 13 to 27

Sumator który zbudowaliśmy odrzuci bit “carry” bo 27 potrzebuje 5 bitów i zostanie nam 11, a 11 w systemie uzupełnienia do 2 to -5

  • informatyka/podstawy-dzialania-komputera/ujemne_liczby_dwojkowe.txt
  • Last modified: 2024/05/08 18:19
  • by kawcix