Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
informatyka:podstawy-dzialania-komputera:ujemne_liczby_dwojkowe [2024/05/08 16:13] – kawcix | informatyka:podstawy-dzialania-komputera:ujemne_liczby_dwojkowe [2024/05/08 18:19] (current) – kawcix | ||
---|---|---|---|
Line 22: | Line 22: | ||
1.0001100 | 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 | ||
+ | |||
+ | |||
+ | {{: | ||
+ | |||
+ | ===== Dlaczego dodawanie w systemie uzupełnienia do 2 jest fajne? ===== | ||
+ | |||
+ | Dlatego, że będzie ono " | ||
+ | |||
+ | [[informatyka: | ||
+ | |||
+ | 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 " | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||