Sie sind auf Seite 1von 12

Aplicaia 2

Reprezentarea numerelor binare negative n virgul


fix i virgul mobil
1. Scopul lucrrii
n aceast lucrare se vor studia urmtoarele:
- reprezentarea binar a numerelor negative;
- aritmetica numerelor binare n virgul fix;
- reprezentarea numerelor n virgul mobil;
- operaii aritmetice cu numere reprezentate n complement
fa de 2.

2. Consideraii teoretice
2.1 Reprezentarea bimar a numerelor negative
Numerele negative sunt reprezentate n binar astfel nct primul bit
din stnga reprezentrii numrului este bitul de semn iar restul sunt biii
folosii pentru reprezentarea valorii.
Bitul de semn poate fi:
0 pentru numere pozitive;
1 pentru numere negative.
2.1.1 Reprezentarea sub form: bit de semn i valoare absolut
Cea mai simpl form de reprezentare este cea n mrime i semn.
Primul bit este cel de semn, iar urmtorii bii reprezint valoarea
absolut.
Exemplu:
Pentru N=8 bii

8 = 0 0001000
8 = 1 0001000

Dezavantaje:

pentru zero, exist dou reprezentri: 00000000 i 10000000;


n ambele cazuri, valoarea absolut pentru maxim i minim este
aceeai: 11111111 i 01111111.

20

2.1.2 Reprezentarea n complement fa de 1


Reprezentarea n complement fa de 1 (codul invers) se realizeaz
astfel:
1. pentru numerele pozitive reprezentarea n complement fa de 1
este similar cu reprezentarea numerelor binare cu semn i valoare;
2. complementul fa de 1 al numerelor negative se realizeaz prin
complementarea (negarea) fiecrui bit (0 trece n 1 i 1 trece n 0).
Exemplu:
Pentru N=8 bii:
9 = 00001001(2)
-9 = 11110110(2)
N
8
Pentru N=8 bii, 2 1 = 2 1 =256(10) - 1(10) = 255(10)
-9 se poate reprezenta:
255(10) + (9)(10) = 246(10) = 11110110(2)

2.1.3 Reprezentarea n complement fa de 2


Reprezentarea n complement fa de 2 (codul complementar) se
realizeaz astfel:
1. pentru numere pozitive - reprezentarea n complement fa de 2
este similar cu reprezentarea numerelor binare cu semn;
2. pentru numere negative - reprezentarea n complement fa de 2
se realizeaz prin adugarea la complementul fa de 1 a unui 1 la poziia
cea mai puin semnificativ.
Exemple:
1.
Pentru N=8
9 = 00001001(2)
8
9 va fi 2 + (-9) = 256 9 = 247 = 11110111(2)

2.
Pentru N=8
9 = 000010012
Se complementeaz:
Se adun 1:
-9 = 111101112
Se complementeaz:
Se adun 1:

21

11110110(2)
11110111(2) = -9
000010002
000010012 = 9

Observaii:
- zero are o singur reprezentare;
- dac se adun complementul fa de 2 al unui numr cu numrul,
rezultatul este 0.
Exemplu:
Pentru N=8
9 +
- 9
- 0

0 0 0 0 1 0 0 1
1 1 1 1 0 1 1 1
0 0 0 0 0 0 0 0

(2)
(2)
(2)

2.2 Formate de reprezentare a numerelor


Registrele utilizate n sistemele de calcul conin un numr de poziii
(n general 16, 32 sau 64 poziii binare) care determin numrul de cifre cu
lungime fix cu care opereaz sistemele de calcul.
n sistemele de calcul virgula nu este realizat fizic. Poziia virgulei
se stabilete prin convenie la proiectarea calculatorului i nu poate fi
schimbat.
n calculator reprezentarea numerelor se realizeaz prin:
- formatul cu virgul fix;
- formatul cu virgul mobil.
2.2.1 Reprezentarea informaiei numerice n virgul fix
n reprezentarea n virgul fix fiecare numr se nregistreaz n
memorie n locaii de lungime constant, astfel:
un bit pentru codificarea semnului este bitul cel mai semnificativ;
un numr dat de bii pentru nregistrarea prii ntregi;
restul de bii sunt folosii pentru nregistrarea prii fracionare.
Numerele reale se reprezint dup ce au fost codificate n baza 2.
Biii din reprezentare sunt trecui n locaiile de memorie unde se face
alinierea la virgula virtual.
La reprezentare se ine cont de urmtoarele particulariti:
- dac partea ntreag are prea multe cifre care depesc spaiul de
reprezentare se pierd cifrele cele mai semnificative;
- dac partea ntreag are prea puine cifre se adaug la stnga
zerouri suplimentare;
- dac partea fracionar are prea multe cifre care depesc spaiul de
reprezentare se pierd cifrele cele mai nesemnificative;

22

- dac partea fracionar are prea puine cifre - se adaug la stnga


zerouri suplimentare nesemnificative.
Exemple:
Schematic o locaie de 12 bii se reprezint astfel:
- un bit pentru semn;
- 4 bii pentru partea ntreag;
- 7 bii pentru partea fracionar.
0

10

11

bit de semn partea ntreag virgul vitual partea fracionar


Numrul +10110,0110010(2) se reprezint n locaia prezentat sub
forma:

0
0

1
1

2
0

3
1

4
1

5
0

6
1

7
1

8
0

9
0

10
1

11
0

,
Numrul -10110 , 0110010(2) se reprezint n locaia prezentat sub
forma:

0
1

1
1

2
0

3
1

4
1

5
0

6
1

7
1

8
0

9
0

10
1

11
0

,
Schematic o locaie de 16 bii se reprezint astfel:
- un bit pentru semn;
- 5 bii pentru partea ntreag;
- 10 bii pentru partea fracionar.

8 9 10 11 12 13 14

15

bit de semn partea ntreag virgul virtual partea fracionar


-

Numrul +1110,01100100100(2) se reprezint n locaia prezentat


sub forma:

23

0
0

1
0

2
1

3
1

4
1

5
0

6
0

7
1

8 9 10 11 12 13 14
1 0 0 1 0 0 1

15
0

,
Partea ntreag se completeaz cu un 0, iar partea fracionar pierde
ultima zecimal.
Numrul -1110,01100100100(2) se reprezint n locaia prezentat
sub forma:

0
1

1
0

2
1

3
1

4
1

5
0

6
0

7
1

8 9 10 11 12 13 14
1 0 0 1 0 0 1

15
0

,
Operaiile aritmetice cu numere reprezentate n virgul fix pot avea
rezultate la care partea ntreag poate s conin mai multe cifre dect
numrul de bii care au fost rezervai. n cazul acesta apare o depire a
capacitii locaiei, iar rezultatul este eronat. Se folosete un factor de scar,
cu care se amplific n prealabil toate numerele care intervin n rezolvarea
problemei. Acest lucru se utilizeaz pentru a evita depirea capacitii de
reprezentare.
2.2.2 Operaii cu numere reprezentate n virgul fix
1. Operaii cu numere ntregi reprezentate n complement fa de 2

Adunarea numerelor ntregi cu semn

Exemple:
Numerele au acelai semn
Pentru N=5
+
+
+

5
4
9

0
0
0

0
0
1

1
1
0

0
0
0

1
0
1

5
4
9

1
1
0

0
0
1

1
1
0

0
0
0

1
0
1

Se obine un numr pozitiv. Rezultatul nu este corect deoarece se


obine un numr pozitiv.

24

9
5
14

1
1
1

0
1
0

1
0
0

1
1
1

1
1
0

Rezultatul este corect.


Numerele au semne contrare
+
+

3
1
2

0
1
0

0
1
0

0
1
0

1
1
1

1(2) +
1(2)
0(2)

+
-

4
2
2

1
0
1

1
0
1

1
0
1

0
1
1

0(2) +
0(2)
0(2)

n cazul numerelor de semne contrare, rezultatul este ntotdeauna


corect, deoarece nu poate apare depire de capacitate.

Scderea numerelor ntregi cu semn

Pentru scderea unui numr (scztor) dintr-un alt numr (desczut),


se calculeaz complementul fa de 2 al scztorului i se efectueaz
adunarea acestuia la desczut.
Exemple:
Numerele au acelai semn
Pentru N=5
D+
S+
S1-

3
1
1

0
0
1

0
0
1

0
0
1

1
0
1

1(2) 1(2)
0(2)

D+
S1R+

3
1
2

0
1
0

0
1
0

0
1
0

1
1
1

1(2) +
0(2)
0(2)

Numerele au semne contrare


Pentru N=5
D+
SS1D+
S1+
R+

3
1
-1

0
1
0

0
1
0

0
1
0

1
1
0

1(2) 1(2)
1(2)

3
1
4

0
0
0

0
0
0

0
0
1

1
0
0

1(2) +
1(2)
0(2)

25

La scderea a dou numere de semne contrare poate s apar


depire de format dac i numai dac rezultatul are semn identic cu
scztorul.

nmulirea numerelor ntregi

Numere ntregi far semn


nmulirea este similar cu cea din zecimal.
Exemplu:
N=4 bii
x

3(10)
4(10)

12(10)

0
0

0
0
0

0
0
0
0

0
0
0
0
1
0
1

0
1
0
0
1

1
0
0
0

1(2)
0(2)
0

0(2)

Prin nmulire se realizeaz o succesiune de deplasri spre stnga iar

nmulitorii sunt adunai.


Exemplu:
4 poate fi scris:
2
4(10) = 2
nmulirea de mai sus se poate realiza i astfel:
2
3 x 4 = 3 x 2
Se deplaseaz 3 pe 2 bii:

3 x 22 = 0001100(2)

Numere ntregi cu semn


Exemplu:
x

-2(10)
7(10)

14(10)

1
0

0
0

1
0
1

1
1
0
1

26

1
0
1
1
1
0
0

1
1
1
1
0

1
1
1
0

0(2)
1(2)
0

0(2)

Reprezentarea lui +14 pe 5 bii este: 01110 rezultatul obinut este


corect.
O alt posibilitate de a obine rezultatul este s nmulim numerele n
valoare absolut, fr a ine seam de semn. Semnul se obine din suma
celor doi operanzi i se reprezint rezultatul. Dac rezultatul este negativ se
complementeaz fa de doi.

mprirea numerelor ntregi

Exemplu:
14(10) : 2(10)
14
14
00

= 7(10)

2
7

1 1 1
- 1 0
1 1
- 1 0
1
- 1
0

(2)

1 0 (2)
1 1 1(2)

0
0
0

2. Operaii cu numere fracionare n virgul fix


Numerele fracionare au modulul mai mare sau egal cu 0.0 i mai
mic ca 1.0 (subunitare).
La reprezentarea numerelor fracionare subunitare, pe N bii, n
complement fa de doi, cuvntul binar are poziionat virgula la dreapta
bitului celui mai semnificativ.
Exemplu:
N = 3 B = N-1 = 3-1 = 2 numr de bii alocat prii fracionare

Domeniul de alocare este:


-1,.,-2-2,0,2-2.,1-2-2
Zecimal
0
0.25
0.50
0.75
-1
-0.75
-0.50
-0.25

27

Binar
000
.001
.010
.011
100
.101
.110
.111

Conversia binar - zecimal a unui numr fracionar

Se consider reprezentarea binar ca un numr ntreg cu semn i se


mparte la 2B.
Exemplu:
- pentru 0,011 0011 (N=8 bii, B=7)
se calculeaz numrul ntreg: 0011 0011 = 51(10)
7
se mparte la 2 =128:
51/128 = 0.3984375
- pentru 1,011 0011 (N=8 bii, B=7)
se calculeaz numrul ntreg
1011 0011
n complement fa de 2:
0100 1101 = 29(10)
7
se mparte la 2 =128:
29/128 = 0.2265625

Conversia zecimal - binar a unui numr fracionar

Se nmulete numrul fracionar cu 2B i se reprezint n binar


partea ntreag, n complement fa de 2 pe N=B+1 bii.
Exemplu:
- pentru 0,125 (N=8 bii, B=7)
7
se nmulete cu 2 = 128:0,125*128 = 16(10)
se reprezint n binar pe 8 bii:16(10) = 00010000(2)
- pentru 0,275 (N=8 bii, B=7)
7
se nmulete cu 2 =128:0,275.128 = 35,2(10)
se reprezint partea ntreag:3510 = 00011001(2)
- pentru 0,125 (N=8 bii, B=7)
7
se nmulete cu 2 = 128: 0,125*128 = 16(10)
se reprezint pe 8 bii:16(10) = 00010000(2)
n complement fa de 2:16(10) = 11110000(2)

n al doilea exemplu numrul este trunchiat.

Adunarea numerelor fracionare cu semn

Adunarea numerelor fracionare cu semn se realizeaz la fel ca


adunarea numerelor binare ntregi cu semn. Reprezentarea rezultatului n
sistemul de numeraie zecimal, nu este la fel.
Depiri ale formatului de reprezentare apar n cazul n care
rezultatul adunrii este mai mare ca 12B sau mai mic ca 1.

28

Exemplu:
+
+

0
0
0

,
,
,

125
375
250

+
+

0
0
1

,
,
,

75
5
25

(10)
(10)
(10)

(10)
(10)
(10)

1
0
1

1
0
1

1
1
1

1
1
0

0
0
0

0
0
1

1
1
0

1
0
1

(2)
(2)
(2)

(2)
(2)
(2)

0,7

(10)

5
-

0
0
1

,
,
,

875
25
125

(10)
(10)
(10)

1
1
0

0
1
1

0
1
1

1
0
1

(2)
(2)
(2)

0,75

(10)

nmulirea numerelor fracionare cu semn

Rezultatul nmulirii n binar a dou numere reprezentate cu B bii


pentru partea fracionar + 1 bit de semn, va trebui reprezentat pe 2B bii +
1 bit de semn. Aceasta este echivalent cu o dublare a zecimalelor pentru
numerele fracionare reprezentate n zecimal.
Exemplu:

0
0

,
,

125
125

015625

(10)
(10)

(10)

0
0

0
0
0

0
0
0
0

0
0
0
0
0
0
0

0
0
0
0
0

0
0
0
0

1
1
1

0,0000010

2.2.3 Reprezentarea informaiei numerice n virgul mobil


Reprezentarea n virgul mobil este un tip mai precis de
reprezentare, care la depire pierde cifrele cele mai puin semnificative,
spre deosebire de reprezentarea n virgul fix unde dac un numr nu
ncape n spaiul de bii rezervat, se pierd cifrele cele mai semnificative.
Un numr real se poate scrie:
N = +(-) 0,MBe
unde:
M mantisa numrului;

29

B baza numrului;
e exponentul .
semn
mantis

mantis

semn
exponent

exponent

n virgul mobil un numr poate avea mai multe reprezentri.


Exemplu:
B = 10
3
6
256,4423(10) = 0,12564423 10
= 0,00012564423 10
-1
-3
0,00012564423(10) = 0,0012564423 10 = 0,12564423 10

Din exemplele de mai sus se observ c exist mai multe variante


pentru definirea numrului.
Reprezentarea cu normalizare a numerelor n virgul flotant se face
atunci cnd dup virgul nu se mai afl zerouri.
Exemplu:
B = 10
5
N = 0,0012564423 10 mantis nenormalizat
3
N = 0,12564423 10 mantis normalizat.

3. Desfurarea lucrrii
S se realizeze urmtoarele exemple care execut:
conversia numerelor din baza 10 n bazele 2, 8 i 16;
conversia unui numr ntre bazele 2, 8 i 16;
conversii din bazele 2, 8 i 16 n baza 10;
conversia numerelor zecimale din baza 10 n bazele 2 i 16;
operaii de adunare i scdere cu numere n bazele 2 i 16.

4. ntrebri
4.1 Cum se reprezint numerele binare negative? Exemplificai.
4.2 Cum se realizeaz complementarea fa de 1?
4.3 Cum se realizeaz complementarea fa de 2?
4.4 Diferena dintre complementarea fa de 1 i complementarea
fa de 2.
4.5 Ce este un numr binar n virgul fix?
4.6 Cum se reprezint numerele ntregi n virgul fix?

30

4.7 Cum se realizeaz adunarea i scderea numerelor ntregi n


virgul fix?
4.8 Cum se reprezint numerele fracionare n virgul fix?
4.9 Cum se realizeaz conversia binar-zecimal a unui numr
fracionar?
4.10 Cum se reprezint numerele ntregi n virgul mobil?
4.11 Cum se reprezint adunarea i scderea numerele ntregi n
virgul mobil?

31

Das könnte Ihnen auch gefallen