System U2¶
System U2, czyli system uzupełnień do dwóch, pozwala na reprezentację nie tylko dodatnich wartości, ale także ujemnych. W tym systemie szczególne znaczenie ma pierwszy, najbardziej znaczący bit liczby, który jest bezpośrednio powiązany z jej znakiem.
Zacznijmy od cech charakterystycznych dla tego zapisu.
- Bit znaku: najbardziej znaczący bit (MSB) służy jako bit znaku:
oznacza liczbę dodatnią, a oznacza liczbę ujemną. - Zakres: zakres liczb, które można reprezentować, wynosi od
do , gdzie to liczba bitów użytych do reprezentacji liczby. - Komplement: aby znaleźć reprezentację liczby ujemnej, bierzemy komplement bitowy (negację wszystkich bitów) liczby dodatniej, a następnie dodajemy
.
Konwersja z dziesiętnego¶
Istnieją dwie podstawowe metody konwersji liczby dziesiętnej na system U2.
Example¶
Liczba do konwersji:
Docelowa liczba bitów:
Metoda I¶
1. Konwertujemy wartość bezwzględną¶
div | mod |
---|---|
102 | 0 |
51 | 1 |
25 | 1 |
12 | 0 |
6 | 0 |
3 | 1 |
1 | 1 |
0 |
2. Dodajemy brakujące bity¶
3. Zamieniamy bity na przeciwne¶
4. Dodajemy liczbę 1 do wyniku¶
5. Konwersja skończona¶
Metoda II¶
1. Rozwiązujemy równanie¶
2. Konwertujemy wynik na system binarny¶
div | mod |
---|---|
26 | 0 |
13 | 1 |
6 | 0 |
3 | 1 |
1 | 1 |
0 |
3. Dopisujemy zera i jedynkę z przodu¶
4. Konwersja skończona¶
Konwersja do dziesiętnego¶
Konwersja z systemu U2 na system dziesiętny przebiega bardzo podobnie, jak przy konwersji z systemu binarnego. Zasadniczą różnicę stanowi to, w jaki sposób traktujemy pierwszy bit. Ponieważ pierwszy bit powiązany jest ze znakiem liczby, to nie tylko przemnażamy go przez odpowiednią potęgę dwójki, ale także przez
Example 1¶
Example 2¶
Operacje Arytmetyczne¶
W systemie U2, dodawanie i odejmowanie można wykonywać używając zwykłych operacji dodawania binarnego i ignorując wszelkie przepełnienia (nadmiary). Właściwości tej metody pozwalają na prosty sprzętowy realizm operacji matematycznych, co jest kluczowe w systemach cyfrowych.
Podsumowanie¶
System uzupełnień do dwóch jest kluczowym narzędziem w informatyce, ułatwiającym reprezentację i manipulację liczbami ujemnymi w kontekście sprzętowych implementacji operacji arytmetycznych. Jego zrozumienie jest niezbędne dla osób pracujących w dziedzinie systemów cyfrowych i projektowania układów scalonych.