Sunteți pe pagina 1din 36

II. REPREZENTAREA NUMERELOR N CALCULATOR.

ARITMETICA BINAR

2.1. Reprezentarea numerelor n calculator


Reprezentarea numerelor n calculatoarele numerice se face pe baza sistemului de numeraie binar Numere pozitive i negative reprezentare semn?
numere fr semn - reprezentare n binar sau n cod binar-zecimal numere cu semn - asociat pe poziia cea mai semnificativ un bit special de semn convenie:
semnul plus - cifra 0 semnul minus - cifra 1

un numr binar de n bii, cu semn are n+1 bii


12.10.2011 Curs 2 ASDN 2

2.1. Reprezentarea numerelor n calculator


Numere:
ntregi fracionare

Poziia virgulei la numere fracionare determin reprezentarea poziie fix sau variabil a virgulei:
reprezentare n virgul fix reprezentare n virgul mobil (flotant)

12.10.2011

Curs 2 ASDN

2.1.1. Reprezentarea numerelor n virgul fix


Calculatoarele pot opera cu numere de lungime fix Numrul de cifre (de exemplu, 32 sau 64 de poziii binare) determinat de numrul de celule din care sunt realizate registrele utilizate Poziia virgulei
se stabilete iniial la proiectare nu se mai schimb nu se realizeaz fizic, dar localizarea ei trebuie cunoscut
12.10.2011 Curs 2 ASDN 4

2.1.1. Reprezentarea numerelor n virgul fix


Blocurile aritmetice ale calculatoarelor care lucreaz n virgul fix:
virgula n faa cifrei celei mai semnificative numerele sunt deci subunitare (numerele reale sunt transformate n prealabil n acest sens)

Indicarea semnului realizat prin mai multe tehnici moduri diferite de reprezentare:
mrime i semn complement fa de 2 (cod complementar) complement fa de 1 (cod invers) Curs 2 ASDN 12.10.2011

Complement
Definiii:
(N)b = bn - (N)b (N)b = bn - (N)b - b-m
(N)b = complement fa de baza b a numrului (N)b (N)b = complement fa de b-1 a numrului (N)b n = nr. de cifre ale prii ntregi ale numrului N m = nr. de cifre ale prii fracionare ale numrului N

Dar, N = 2n - 1 = cel mai mare numr binar de n cifre care poate fi reprezentat 2n necesar pentru complement nu se poate reprezenta 2n se echivaleaz cu numrul 0
12.10.2011 Curs 2 ASDN 6

Complement
Exemple generale: N1 = (123,45)10 cu n = 3, m = 2
(N1)10 = 10n - N1 = 103 - 123,45 = 876,55 (N1)10 = 10n - N1 - 10-m = 103 - 123,45 - 10-2 = 876,54

N2 = (1101,011)2 cu n = 4, m = 3
(N2)2 = 2n - N2 = 24 - 1101,011 = 0010,101 (N2)2 = 2n - N2 - 2-m = 24 - 1101,011 - 2-3 = 0010,100
12.10.2011 Curs 2 ASDN 7

Complement
Determinarea complementului fa de 2 exist 3 procedee: (N)2 = 0 - N (N)2 = N + 2-n pornind de la dreapta spre stnga se pstreaz neschimbate cifrele egale cu 0, inclusiv prima cifr egal cu 1, dup care toate celelalte cifre se inverseaz
n = numrul de cifre ale numrului
12.10.2011 Curs 2 ASDN 8

Complement
Determinarea complementului fa de 1 exist 3 procedee: (N)2 = 0 - N - 2-n (N)2 = N - 2-n se inverseaz fiecare cifr n parte

12.10.2011

Curs 2 ASDN

Complement
Exemplu de determinare a complementului fa de 2 Numrul (N)2 = 101011
1. (N)2 = 000000 101011 = 010101 2. (N)2 = 010100 + 000001 = 010101 3. (N)2 = 010101
12.10.2011

rmne neschimbat s-au inversat

Curs 2 ASDN

10

Complement
Exemplu de determinare a complementului fa de 1 Numrul (N)2 = 101011
1. (N)2 = 000000 101011 000001 = 010100 2. (N)2 = 010101 000001 = 010100 3. (N)2 = 010100 am inversat cifrele (0 cu 1, 1 cu 0)
12.10.2011 Curs 2 ASDN 11

Reprezentarea prin mrime i semn


Relaia de reprezentare prin mrime i semn:
N = an 2 n +
i = m

ai 2i

n 1

an = bit de semn
N pozitiv an = 0 N negativ an = 1

ai = cifrele binare ale numrului N


12.10.2011 Curs 2 ASDN 12

Reprezentarea prin mrime i semn


Avantaj - asemntoare cu scrierea manual Dezavantaje pentru realizarea calculelor aritmetice:
adunarea i scderea depind i de semnele numerelor este necesar examinarea semnului naintea operaiei sunt necesare blocuri diferite pentru adunare i scdere

Exemplu:
+6 = 00110
semn
12.10.2011

-6 = 10110
semn
Curs 2 ASDN

cifre numr

cifre numr
13

Reprezentarea prin complement fa de 2


Relaiile de reprezentare:
N = 0 2n +
i = m n 1 n 1

ai 2i

pentru N > 0

N = 1 2 n +

ai = 1 - ai este complementul fa de 1 al cifrei ai Exemplu:


+6 = 00110 - 6 = 11010 (1010 = complementul fa de 2 al lui 6)
12.10.2011 Curs 2 ASDN 14

i= m

a i 2i + 2 m pentru N < 0

Reprezentarea prin complement fa de 1


Relaiile de reprezentare:
N = 0 2n +
i = m n 1 n 1

ai 2i
a i 2i

pentru N > 0 pentru N < 0

N = 1 2 n +

ai = 1 - ai este complementul fa de 1 al cifrei ai Exemplu:


+6 = 00110 - 6 = 11001 (1001 = complementul fa de 1 al lui 6)
12.10.2011 Curs 2 ASDN 15

i=m

2.1.1. Reprezentarea numerelor n virgul fix


Un numr N n virgul fix se poate scrie: 0 * N = a0 2 + N
a0 = bit de semn N* are semnificaiile:
mrime i semn

N * = ai 2 i
i =1

N < 0 n complement fa de 2 N < 0 n complement fa de 1

N = ai 2 + 2
*

N * = a i 2 i
i =1
16

i =1 n

12.10.2011

ai = cifrele numrului n = numrul de cifre din dreapta virgulei ai = 1- ai Curs 2 ASDN

2.1.1. Reprezentarea numerelor n virgul fix


Avantaje dac virgula se plaseaz dup prima poziie binar:
N* fiind subunitar poziia virgulei este aceeai dup nmulirea binar nmulirea nu va duce niciodat la depirea limitei superioare a gamei de reprezentare a numerelor aceast plasare poate fi uor memorat

12.10.2011

Curs 2 ASDN

17

2.1.2. Reprezentarea numerelor n virgul mobil


Pentru numere foarte mari sau foarte mici, cu grad de precizie ridicat Reprezentarea unui numr - prin mantis M i exponent E Exponent - indic ordinul de mrime al numrului printr-o putere Mantisa determin mrimea (valoare) exact a numrului n cadrul ordinului respectiv
12.10.2011 Curs 2 ASDN 18

2.1.2. Reprezentarea numerelor n virgul mobil


Exemplu - o reprezentare pe 32 de bii: SE SM 0 1 2 3 4 5 6 7 8
bitul 0 = SE - semn exponent biii 1- 6 = exponent E bitul 7 = SM - semn mantis biii 8-31 = mantis M

31

Numrul +12,34 se poate reprezenta n 2 moduri


+0,1234 x 10+2 sau +1234 x 10-2 Reprezentarea pe 32 de bii va fi:
0 000010 0 000111111000110110001010 sau 1 000010 0 000000000000010011010010
12.10.2011 Curs 2 ASDN 19

2.1.2. Reprezentarea numerelor n virgul mobil


n calculatoare se utilizeaz reprezentarea numai cu semn la mantis, nu i la exponent se folosete mrimea numit Caracteristic Caracteristica numrului N: C = E + deplasament
E = exponentul numrului (putere a lui 16) deplasamentul ales ca s rezulte ntotdeauna o valoare pozitiv (ex.: 64 sau 128)

Valoarea exponentului E = (C - deplasament)


avantaje
este numai pozitiv operaii simplificate cifra 0 reprezentat la fel cu reprezentarea n virgul fix tratare similar

dezavantaj - exist o operaie de scdere n plus!


12.10.2011 Curs 2 ASDN 20

2.1.2. Reprezentarea numerelor n virgul mobil


Reprezentare n simpl precizie, de exemplu:

a) S C M 0 1 7 8 Reprezentare n dubl precizie, de exemplu: b) S C M 0 1 7 8


Exemplu:

31

63

Pentru caracteristica C = 7 numerele pot fi ntre 0 i 27-1 0 C 127 Pentru deplasament = 64 exponentul E = C 64, deci -64 E 63
12.10.2011 Curs 2 ASDN 21

2.1.2. Reprezentarea numerelor n virgul mobil


Forma normalizat - bitul cel mai semnificativ al mantisei = 1
acest bit nu se mai memoreaz mantisa ctig un bit semnificativ n plus simplificarea operaiilor creterea preciziei

Probleme cu reprezentarea valorii 0, care nu poate fi normalizat valoarea 0 are o reprezentare special
12.10.2011 Curs 2 ASDN 22

2.1.2. Reprezentarea numerelor n virgul mobil


Exemplu: gama numerelor reprezentate n complement fa de 2, n cuvinte de 32 de bii:
numere pozitive ntre: 0,5 2-128 i (1 - 2-24) 2127 numere negative ntre: - (1 - 2-24) 2127 i - 0,5 2-128 5 regiuni necuprinse n aceste domenii depire
depire inferioar negativ: < - (1 - 2-24) 2127 depire superioar negativ: > - 0,5 2-128 zero depire inferioar pozitiv: < 0,5 2-128 depire superioar pozitiv: > (1 - 2-24) 2127

coprocesoarele matematice i unitile de calcul n virgul mobil au mecanisme speciale pentru detectarea, semnalizarea i tratarea depirilor Curs 2 ASDN 12.10.2011 23

2.1.2. Reprezentarea numerelor n virgul mobil


Compromis ntre dimensiunea mantisei i a exponentului
mantisa de dimensiune mai mare crete precizia numerelor care pot fi reprezentate exponentul de dimensiune mai mare crete domeniul numerelor care pot fi reprezentate

Creterea numrului de bii pentru reprezentare:


creterea preciziei creterea domeniului numerelor
12.10.2011 Curs 2 ASDN 24

2.1.2. Reprezentarea numerelor n virgul mobil

Standardele pentru floating point:


IEEE 754 din 1985, actualizat n 2008 IEEE 854 din 1987

Reprezentarea numerelor n virgul mobil Operaii aritmetice n aceast reprezentare

12.10.2011

Curs 2 ASDN

25

2.2. Aritmetica binar


Operaii aritmetice cu numere fr semn Adunarea binar
operaie modulo 2
cifra cu valoarea cea mai mare: 2-1 = 1 dac rezultatul adunrii a 2 cifre de rang i depete valoarea 1 apare transport ctre rangul i+1, care se adaug la suma cifrelor de rang i+1 transportul la cifra cea mai semnificativ indic depirea capacitii de reprezentare a rezultatului

12.10.2011

Curs 2 ASDN

26

2.2. Aritmetica binar


Operaii aritmetice cu numere fr semn Adunarea binar
x 0 0 1 1 y 0 1 0 1 Transport 0 0 0 1 Sum 0 1 1 0

Exemplu:

2210 = 101102 + 1910 = 100112 4110 = 1010012


12.10.2011 Curs 2 ASDN 27

2.2. Aritmetica binar


Operaii aritmetice cu numere fr semn Scderea binar
2 cifre de rang i; poate s apar mprumut de la rangul i+1 x y mprumut Diferen
0 0 1 1 0 1 0 1 0 1 0 0 0 1 1 0

Exemplu:

12.10.2011

2210 = 101102 1910 = 100112 310 = 000112

Curs 2 ASDN

28

2.2. Aritmetica binar


Operaii aritmetice cu numere fr semn nmulirea binar
prin adunarea repetat de produse pariale produsul este 1 doar dac i denmulitul i nmulitorul sunt 1
x 0 0 1 1
12.10.2011

y 0 1 0 1

Produsul 0 0 0 1
Curs 2 ASDN 29

2.2. Aritmetica binar


Operaii aritmetice cu numere fr semn nmulirea binar - exemplu:
1210 = 11002 x 610 = 01102 0000 1100 1100 0000 10010002 (64 + 8 = 7210)
12.10.2011 Curs 2 ASDN 30

2.2. Aritmetica binar


Operaii aritmetice cu numere fr semn mprirea binar
nu se poate efectua dac mpritorul este egal cu 0!!! trebuie s fie satisfcut relaia: X=QY+R
X = demprit; Y = mpritor; Q = ct; R = rest

se fac scderi ale mpritorului din resturile pariale


dac restul parial este:
mai mare ca mpritorul cifra ctului este 1 dac restul parial este mai mic dect mpritorul cifra ctului este 0
12.10.2011 Curs 2 ASDN 31

2.2. Aritmetica binar


Operaii aritmetice cu numere fr semn mprirea binar - exemplu
14710 = 100100112 ; 1110 = 10112 10010011 : 1011 = 11012 ct = 1310 1011 1110 1011 1111 1011 1002 rest = 410 Curs 2 ASDN 12.10.2011

32

2.2. Aritmetica binar


Operaii aritmetice cu numere n virgul fix Adunarea numerelor reprezentate n complement fa de 2
se adun numerele bit cu bit, inclusiv biii de semn se ignor transportul de la biii de semn dac rezultatul e negativ apare ca un numr reprezentat n complement fa de 2 Observaii:
dac rezultatul n valoare absolut este mai mare dect valoarea maxim care poate fi reprezentat depire la adunarea a 2 numere de acelai semn apare depire dac i numai dac rezultatul are semn contrar semnelor numerelor
12.10.2011 Curs 2 ASDN 33

2.2. Aritmetica binar


Operaii aritmetice cu numere n virgul fix Adunarea numerelor reprezentate n complement fa de 2 - exemple
+ 910 + 510 +1410 - 910 - 510 - 1410 + 710 - 410 + 310 0 10012 0 01012 0 11102 1 01112 1 10112 11 00102 0 01112 1 11002 10 00112 + 910 + 1110 + 2010 - 910 - 1110 - 2010 - 710 + 410 - 310 0 10012 0 10112 1 01002 1 01112 1 01012 10 11002 1 10012 0 01002 1 11012 rezultat incorect

rezultat incorect

12.10.2011

Curs 2 ASDN

34

2.2. Aritmetica binar


Operaii aritmetice cu numere n virgul fix Scderea numerelor reprezentate n complement fa de 2
se poate executa prin 2 metode:
prin scdere direct, dac se dispune de scztoare elementare prin adunarea complementului fa de 2 a scztorului, dac se dispune de sumatoare elementare

pot s apar depiri, care trebuie detectate la scderea unor numere de semne contrare pot s apar depiri dac i numai dac rezultatul are acelai semn cu scztorul Curs 2 ASDN 12.10.2011 35

2.2. Aritmetica binar


Operaii aritmetice cu numere n virgul fix Scderea numerelor reprezentate n complement fa de 2 - exemplu pentru metoda cu adunare cu complementul fa de 2 al scztorului
D: + 710 S: - 410 S: - (- 4)10 Atunci: D: + 710 S: + 410 +1110 0 01112 1 11002 0 01002 0 01112 0 01002 0 10112

complement fa de 2

12.10.2011

Curs 2 ASDN

36