informatyka:podstawy-dzialania-komputera:ujemne_liczby_dwojkowe

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
informatyka:podstawy-dzialania-komputera:ujemne_liczby_dwojkowe [2024/05/08 16:04] – created kawcixinformatyka:podstawy-dzialania-komputera:ujemne_liczby_dwojkowe [2024/05/08 18:19] (current) kawcix
Line 1: Line 1:
-**9 Zapisy Liczby dwójkowej ze znakiem**+====== 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) 
 + 
 +===== Znak moduł - ZM ===== 
 + 
 +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) ([[informatyka:podstawy-dzialania-komputera:dwojkowy_system_liczbowy|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... 
 + 
 +===== Uzupełnienie do 1 ===== 
 + 
 + 
 +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 
 + 
 +===== Uzupełnienie do 2 ===== 
 + 
 +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 
 + 
 + 
 +{{:informatyka:podstawy-dzialania-komputera:12wznakuzupelnieniedo2.png?600|}} 
 + 
 +===== Dlaczego dodawanie w systemie uzupełnienia do 2 jest fajne? ===== 
 + 
 +Dlatego, że będzie ono "kompatybilne" z dodawaniem liczb bez znaków itp 
 + 
 +[[informatyka:podstawy-dzialania-komputera:adder_sumator|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.1715177079.txt
  • Last modified: 2024/05/08 16:04
  • by kawcix