Elektronik - Rzeszów
2011-09-20
1
K L A S A 1
T E M A T : N R 1 6
Metody zapisywania liczb ze
znakiem
Liczby ze znakiem
Do tej pory zajmowaliśmy się tylko liczbami bez znaku, które są
interpretowane jako nieujemne. W zbiorze liczb rzeczywistych
istnieją jednak liczby ujemne, które w dziesiętnym systemie
liczbowym oznacz się znakiem „-”. Podobnie dodatnie liczby
dziesiętne oznacz się znakiem „+”. W dwójkowym systemie
liczbowym znaki te mogą być wprowadzone tylko w postaci
odrębnego bitu znaku, którego wartość 1 symbolizuje umownie
znak „-”, a wartość 0 odpowiada znakowi „+”. Istnieją trzy
zasadnicze sposoby kodowania liczb dwójkowych ze znakiem:
•Znak moduł –ZM;
•Znak uzupełnienie do 1 – ZU1 (U1);
•Znak uzupełnienie do 2 – ZU2(U2);
ZSE Rzeszów - Systemy operacyjne
2011-09-20
2
Znak moduł - ZM
2011-09-20
ZSE Rzeszów - Systemy operacyjne
3
Dodawany jest bit znaku obok najstarszego bitu liczby
(pierwszy od lewej), wynoszący 0 dla liczby dodatniej i 1 dla
liczby
ujemnej.
Pozostałe
bity
reprezentują
wartość
bezwzględną (moduł) liczby. Zapis taki powinien być
przedstawiony na wielokrotnościach bajtu (8, 16, 32 bitach).
Na przykład:
12
(10)
=1100
(2)
ZM:+12
(l0)
= 0.1100
(2)
ZM: -12
(l0)
= 1.1100
(2)
Znak moduł - ZM
2011-09-20
ZSE Rzeszów - Systemy operacyjne
4
W kodzie ZM liczby dodatnie i ujemne o tych samych wartościach
bezwzględnych różnią się tylko bitem znaku. Na przykład dla liczb
całkowitych otrzymujemy przyporządkowanie:
+100.1010
-101.1010
W
dziesiętnym
systemie
liczbowym
liczba
taka
jak
-65,2
jest
reprezentowana przez znak (-) i moduł 65,2. Podobnie w dwójkowym
systemie liczbowym, liczba przedstawiona w kodzie ZM składa się ( od
strony lewej do prawej) z bitu znaku, po którym następuje kropka, oraz z
bitów znaczących, określających wartość bezwzględną liczby czyli jej
moduł. Kropka ta ma znaczenie tylko w zapisie „ na papierze”, aby
wydzielić bit znaku.
Znak uzupełnienie do 1 – ZU1 (U1)
2011-09-20
ZSE Rzeszów - Systemy operacyjne
5
W kodzie ZU1 reprezentacja liczby dodatniej jest identyczna
jak
w
kodzie
ZM.
Natomiast
liczba
ujemna
jest
reprezentowana
przez
bit
znaku
równy
1
następnie
odwrócenie wszystkich bitów liczby (zamiana zer na jedynki i
jedynek na zera).
Na przykład:
12
(10)
=1100
(2)
U1:+12
(10)
= 0.1100
(2)
U1:-12
(10|
=1.0011
(2)
Lub zapis na 8 bitach
U1:+12
(10)
= 0.0001100
(2)
U1:-12
(10|
=1.1110011
(2)
Znak uzupełnienie do 2 – ZU2 (U2)
2011-09-20
ZSE Rzeszów - Systemy operacyjne
6
W kodzie ZU2 reprezentacja liczby dodatniej jest identyczna jak w
poprzednich dwóch kodach. Natomiast liczba ujemna jest reprezentowana
przez bit znaku równy 1 i przez uzupełnienie jej modułu do2.
W przypadku liczb dwójkowych uzupełnienie do 2 można otrzymać
pozostawiając wszystkiej mniej znaczące zera i pierwszą najmniej
znaczącą jedynkę niezmienione, a następnie negując pozostałe bity.
Na przykład:
12
(10)
=1100
(2)
U2:+12
(10)
= 0.1100
(2)
U2:-12
(10|
=1.0100
(2)
lub zapis na 8 bitach :
U2:+12
(10)
= 0.0001100
(2)
U2:-12
(10|
=1.1110100
(2)
Elektronik - Rzeszów
2011-09-20
2
Znak uzupełnienie do 2 – ZU2 (U2)
2011-09-20
ZSE Rzeszów - Systemy operacyjne
7
Przykład:
Liczba 1101
u2
odpowiada liczbie dziesiętnej -3.
1101
u2
= -1*2
3
+1*2
2+
0*2
1+
1*2
0
=-8+4+1=-3
Przykład: W celu otrzymania w kodzie U2 liczby przeciwnej do danej
liczby, negujemy wszystkie bity tej liczby i do otrzymanego wyniku
dodajemy1. Dla czterobitowego kodu U2 liczbę (7)
10
Sprawdzamy: 1001
u2
=-1*2
3
+1*2
0
=-8+1=-7
Umiejętność dodawania i obliczania liczby przeciwnej do
danej pozwala na wykonywanie dowolnych działań
dodawania lub odejmowania na liczbach ze znakiem, gdyż
np.
a-b= a+ (-b)
-a+b= (-a)+b
-a-b=(-a)+(-b)
Przykład:
2011-09-20
ZSE Rzeszów - Systemy operacyjne
8
Reprezentacja liczb całkowitych w systemie znak uzupełnienie do 2 (n=8) – 1 bit
znaku 7 bitów liczby.
x=
26
0
0
0
1
1
0
1
0
-x =
-26~
1
1
1
0
0
1
1
0
Przykład dodawania
2011-09-20
ZSE Rzeszów - Systemy operacyjne
9
24-40 = …Dodajemy dwie liczby łącznie z bitem znaku.
x=
24
0
0
0
1
1
0
0
0
-y
-40~
1
1
0
1
1
0
0
0
x+y=
-16
1
1
1
1
0
0
0
0
Zadanie
2011-09-20
ZSE Rzeszów - Systemy operacyjne
10
Uzupełnij poniższą tabelkę:
Zad 2. Przelicz na liczby binarne
metodą U2.
a) -129
b) -23
c) -68
Zad 3. Wykonaj działania. Zapisz
liczby jako 8-bitowe
a) 17-67
b) -132+21
Źródło:
ZSE Rzeszów - Systemy operacyjne
1. Urządzenia techniki komputerowej, T. Marciniuk
2. Podstawy elektroniki cyfrowej – Józef Kalisz
2011-09-20
11