1 URZĄDZENIA TECHNIKI KOMPUTEROWEJ Zapis liczb binarnych ze znakiem
2 URZĄDZENIA TECHNIKI KOMPUTEROWEJ W systemie dziesiętnym liczby ujemne są opatrzone specjalnym Znakiem graficznym — minusem „-", np. -6, -22 itd, a liczby dodatnie w niektórych przypadkach plusem „+", np. +5, +20. W systemie binarnym opartym wyłącznie na zerach i jedynkach brakuje dodatkowego znaku, który wskazywałby na ujemny lub dodatni charakter określonej liczby
3 URZĄDZENIA TECHNIKI KOMPUTEROWEJ Opracowano kilka metod zapisu liczb binarnych ze znakiem, które charakteryzują się różnym stopniem przydatności, m.in.: metodę znak-moduł (ZM), metodę uzupełnień do 1 (Ul), metodę uzupełnień do 2 (U2).
4 URZĄDZENIA TECHNIKI KOMPUTEROWEJ Metoda znak-moduł (ZM) W metodzie znak-moduł zastosowano prosty zabieg kodowania znaku za pomocą najstarszej cyfry w liczbie binarnej. Najstarszą cyfrę określa się jako znak, podczas gdy pozostałe cyfry są modułem reprezentującym daną liczbę binarną.
5 URZĄDZENIA TECHNIKI KOMPUTEROWEJ Stosując powyższy (zmodyfikowany) zapis wielomianowy, zauważymy, że znak otrzymanej po jego wyliczeniu liczby jest zależny od wyrażenia: 1-2*najstarsza cyfra liczby. Jeżeli najstarsza cyfra jest jedynką, to wynikiem wyrażenia będzie -1; jeżeli zerem, otrzymamy 1. Obliczony moduł należy przemnożyć przez wyrażenie znakowe, dzięki czemu otrzymujemy dodatnią lub ujemną liczbę dziesiętną będącą odpowiednikiem danej liczby binarnej.
6 URZĄDZENIA TECHNIKI KOMPUTEROWEJ Aby uzyskać liczbę binarną ze znakiem na podstawie liczby dziesiętnej, należy obliczyć moduł metodą dzielenia przez podstawę (2), a następnie dołączyć 0, jeżeli chcemy mieć liczbę dodatnią, lub 1 — dla liczby ujemnej.
7 URZĄDZENIA TECHNIKI KOMPUTEROWEJ Przykłady 0111 (ZM) = 0 1 2 1 1 1 0 = (1-2*0)*(1*2 2 +1*2 1 +1*2°) = 1*(4+2+1) = 7 D 1111 (ZM) = 1 1 2 1 1 1 0 = (1-2*1)*(1*2 2 +1*2 1 +1*2°)=-1*(4+2+1)= -7 D Na podstawie podręcznika do zawodu – Kwalifikacja E. 12
8 URZĄDZENIA TECHNIKI KOMPUTEROWEJ Jedną z wad metody ZM jest brak możliwości prostego wykonywania operacji arytmetycznych, co znacznie ogranicza jej powszechne stosowanie: 1 1 1 0 ZM + 0 1 1 0 ZM ------------------------------------------- 1 0 1 0 0 -6 + 6=20 D
9 URZĄDZENIA TECHNIKI KOMPUTEROWEJ Kolejną niedogodnością związaną z systemem znak-moduł jest to, że zero może zostać zapisane na dwa sposoby: ze znakami plus i minus. To przykład nieefektywności tej metody, w której tracony jest jeden wyraz kodowy.
10 URZĄDZENIA TECHNIKI KOMPUTEROWEJ
11
12
13 Ćwiczenia http://lidia-js.kis.p.lodz.pl/Systemy_Liczbowe/index.php
14 URZĄDZENIA TECHNIKI KOMPUTEROWEJ
15
16
17
18
19
20
21
22
23
24
25
26
27 URZĄDZENIA TECHNIKI KOMPUTEROWEJ Podręcznik 1.3.2. Metoda uzupełnień do 2 (U2) Niedoskonałości systemu ZM spowodowały, że konieczne było opracowanie bardziej naturalnej metody zapisu liczb binarnych ze znakiem. Powstała metoda uzupełnień do 2 (U2), w której cyfra określająca znak jest zintegrowana z liczbą binarną, co pozwala na wykonywanie obliczeń arytmetycznych.
28 URZĄDZENIA TECHNIKI KOMPUTEROWEJ Podręcznik W celu obliczenia wartości liczby binarnej z wykorzystaniem metody U2 należy zastosować poniższy wzór: n-2 i=0 W metodzie U2 wyrażenie znaku jest tak skonstruowane, że uczestniczy w ustalaniu wartości liczby tak jak pozostałe pozycje. Wartość podstawy w wadze najstarszej liczby określajcie) znak jest ujemna.
29 URZĄDZENIA TECHNIKI KOMPUTEROWEJ Podręcznik Przekształcenie ujemnej liczby dziesiętnej na postać binarną jest bardziej pracochłonne niż w metodzie ZM. 1. Na początku obliczamy postać binarną z wartości bezwzględnej dziesiętnej liczby ujemnej: 5:2 = 2 r = 1 2:2 = 1 r = 0 1:2 = 0 r = 1 -5 D =|-5 D l = 5 D = 101 B 2. Powstałą liczbę binarną należy uzupełnić zerami do liczby cyfr będącej krotnością dwójki. W tym przypadku, gdy liczba binarna ma trzy cyfry, dopełniamy do czterech. Jeżeli byłoby siedem cyfr, należałoby uzupełnić do ośmiu itd. 0101 B
30 URZĄDZENIA TECHNIKI KOMPUTEROWEJ Podręcznik Następnie należy zamienić wszystkie cyfry w liczbie binarnej na przeciwne, czyli jedynki na zera i odwrotnie: 0101 B ===== 1010 W ostatnim etapie do powstałej liczby dodajemy binarną jedynkę, a wynik jest ujemną liczbą binarną: 1 0 1 0 + 0 0 0 1 ------------- 1 0 1 1 1 3 0 2 1 1 1 0 = 1(-2 3 ) + 0(2 2 ) + 1(2') + 1(2°) = -8 + 3 = -5
31 URZĄDZENIA TECHNIKI KOMPUTEROWEJ Zadania do samodzielnej analizy: Zapis w systemie uzupełnień do 1 - U1 http://edu.i-lo.tarnow.pl/inf/alg/006_bin/0017.php Zapis w systemie uzupełnień do 2 - U2 http://edu.i-lo.tarnow.pl/inf/alg/006_bin/0018.php