background image

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)

background image

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