curs 2 asdn
Post on 14-Apr-2018
235 Views
Preview:
TRANSCRIPT
-
7/30/2019 curs 2 asdn
1/36
II. REPREZENTAREA
NUMERELOR NCALCULATOR. ARITMETICA
BINAR
-
7/30/2019 curs 2 asdn
2/36
13.10.2009 Curs 2 ASDN 2
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 codbinar-zecimal
numere cu semn - asociat pe poziia cea maisemnificativ 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
-
7/30/2019 curs 2 asdn
3/36
13.10.2009 Curs 2 ASDN 3
2.1. Reprezentarea
numerelor n calculator
Numere: ntregi
fracionare
Poziia virgulei la numere fracionare determinreprezentarea poziie fix sau variabil a virgulei: reprezentare n virgul fix reprezentare n virgul mobil (flotant)
-
7/30/2019 curs 2 asdn
4/36
13.10.2009 Curs 2 ASDN 4
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 caresunt realizate registrele utilizate
Poziia virgulei se stabilete iniial la proiectare nu se mai schimb
nu se realizeaz fizic, dar localizarea ei trebuie cunoscut
-
7/30/2019 curs 2 asdn
5/36
13.10.2009 Curs 2 ASDN 5
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 sunttransformate 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)
-
7/30/2019 curs 2 asdn
6/36
13.10.2009 Curs 2 ASDN 6
ComplementDefiniii: (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
-
7/30/2019 curs 2 asdn
7/36
13.10.2009 Curs 2 ASDN 7
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
-
7/30/2019 curs 2 asdn
8/36
13.10.2009 Curs 2 ASDN 8
ComplementDeterminarea complementului fa de 2 exist3 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 cifregal cu 1, dup care toate celelalte cifre seinverseaz n = numrul de cifre ale numrului
-
7/30/2019 curs 2 asdn
9/36
13.10.2009 Curs 2 ASDN 9
Complement
Determinarea complementului fa de 1 exist3 procedee:
(N)2 = 0 - N - 2-n
(N)2 = N - 2-n
se inverseaz fiecare cifr n parte
-
7/30/2019 curs 2 asdn
10/36
13.10.2009 Curs 2 ASDN 10
Complement Exemplu de determinare a complementului fa de 2
Numrul (N)2 = 1010111. (N)2 = 000000 -
101011 =010101
2. (N)2 = 010100 +
000001 =0101013. (N)2 = 010101
rmne neschimbats-au inversat
-
7/30/2019 curs 2 asdn
11/36
13.10.2009 Curs 2 ASDN 11
Complement Exemplu de determinare a complementului fa de 1
Numrul (N)2 = 1010111. (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)
-
7/30/2019 curs 2 asdn
12/36
13.10.2009 Curs 2 ASDN 12
Reprezentarea prin mrime
i semn
Relaia de reprezentare prin mrime i semn:
an = bit de semn
N pozitiv
an = 0 N negativ an = 1
ai = cifrele binare ale numrului N
=
+=
1
22n
mi
i
i
n
naaN
-
7/30/2019 curs 2 asdn
13/36
13.10.2009 Curs 2 ASDN 13
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 -6 = 10110
semn cifre numr semn cifre numr
-
7/30/2019 curs 2 asdn
14/36
13.10.2009 Curs 2 ASDN 14
Reprezentarea prin
complement fa de 2
Relaiile de reprezentare:pentru N > 0
pentru N < 0
ai = 1 - ai este complementul fa de 1 al cifrei ai Exemplu:
+6 = 00110
- 6 = 11010 (1010 = complementul fa de 2 al lui 6)
=
+=
1
220n
mi
i
i
naN
=
++=
1
2221n
mi
mii
naN
-
7/30/2019 curs 2 asdn
15/36
13.10.2009 Curs 2 ASDN 15
Reprezentarea prin
complement fa de 1
Relaiile de reprezentare:pentru N > 0
pentru N < 0
ai = 1 - ai este complementul fa de 1 al cifrei ai Exemplu:
+6 = 00110
- 6 = 11001 (1001 = complementul fa de 1 al lui 6)
=
+=
1
220n
mi
i
i
naN
=
+=
1
221n
mi
i
i
naN
-
7/30/2019 curs 2 asdn
16/36
13.10.2009 Curs 2 ASDN 16
2.1.1. Reprezentarea
numerelor n virgul fix Un numr N n virgul fix se poate scrie:
a0 = bit de semn
N* are semnificaiile: mrime i semn
N < 0 n complement fa de 2
N < 0 n complement fa de 1 ai = cifrele numrului
n = numrul de cifre din dreapta virgulei ai = 1- ai
*00 2 NaN +=
=
=
n
i
i
iaN
1
* 2
n
n
i
i
iaN
=
+= 22
1
*
=
=
n
i
i
iaN
1
* 2
-
7/30/2019 curs 2 asdn
17/36
13.10.2009 Curs 2 ASDN 17
2.1.1. Reprezentarea
numerelor n virgul fix
Avantaje dac virgula se plaseaz dup primapoziie binar:
N* fiind subunitar poziia virgulei este aceeai dupnmulirea binar
nmulirea nu va duce niciodat la depirea limitei
superioare a gamei de reprezentare a numerelor aceast plasare poate fi uor memorat
-
7/30/2019 curs 2 asdn
18/36
13.10.2009 Curs 2 ASDN 18
2.1.2. Reprezentarea
numerelor n virgul mobil
Pentru numere foarte mari sau foarte mici, cu gradde precizie ridicat
Reprezentarea unui numr - prin mantis M iexponent E
Exponent- indic ordinul de mrime al numrului
printr-o putere Mantisa determin mrimea (valoare) exact a
numrului n cadrul ordinului respectiv
-
7/30/2019 curs 2 asdn
19/36
13.10.2009 Curs 2 ASDN 19
2.1.2. Reprezentarea
numerelor n virgul mobil Exemplu - o reprezentare pe 32 de bii:
bitul 0 = SE - semn exponent biii 1- 6 = exponent E bitul 7 = SM - semn mantis biii 8-31 = mantis M
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
SE SM0 1 2 3 4 5 6 7 8 . 31
-
7/30/2019 curs 2 asdn
20/36
13.10.2009 Curs 2 ASDN 20
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 numitCaracteristic 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 opera
ie de scdere n plus!
-
7/30/2019 curs 2 asdn
21/36
13.10.2009 Curs 2 ASDN 21
2.1.2. Reprezentarea
numerelor n virgul mobil Reprezentare n simpl precizie, de exemplu:
Reprezentare n dubl precizie, de exemplu:
Exemplu: 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
a) S C M0 1 7 8 31
b) S C M0 1 7 8 63
-
7/30/2019 curs 2 asdn
22/36
13.10.2009 Curs 2 ASDN 22
2.1.2. Reprezentarea
numerelor n virgul mobil Forma normalizat - bitul cel mai semnificativ al
mantisei = 1 acest bit nu se mai memoreaz mantisa are un bit
semnificativ n plus simplificarea operaiilor
creterea preciziei
Probleme cu reprezentarea valorii 0, care nu poate finormalizat valoarea 0 are o reprezentarespecial
-
7/30/2019 curs 2 asdn
23/36
13.10.2009 Curs 2 ASDN 23
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
-
7/30/2019 curs 2 asdn
24/36
13.10.2009 Curs 2 ASDN 24
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
-
7/30/2019 curs 2 asdn
25/36
13.10.2009 Curs 2 ASDN 25
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
-
7/30/2019 curs 2 asdn
26/36
13.10.2009 Curs 2 ASDN 26
2.2. Aritmetica binarOperaii 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 sumacifrelor de rang i+1
transportul la cifra cea mai semnificativ indic depireacapacitii de reprezentare a rezultatului
-
7/30/2019 curs 2 asdn
27/36
13.10.2009 Curs 2 ASDN 27
2.2. Aritmetica binarOperaii aritmetice cu numere fr semn
Adunarea binar
Exemplu:2210 = 101102 +1910 = 10011241
10= 101001
2
x y Transport Sum0 0 0 0
0 1 0 11 0 0 11 1 1 0
-
7/30/2019 curs 2 asdn
28/36
13.10.2009 Curs 2 ASDN 28
2.2. Aritmetica binarOperaii aritmetice cu numere fr semn
Scderea binar 2 cifre de rang i; poate s apar mprumut de la rangul
i+1
Exemplu:2210 = 101102 -
1910 = 100112
310 = 000112
x y mprumut Diferen0 0 0 00 1 1 11 0 0 11 1 0 0
-
7/30/2019 curs 2 asdn
29/36
13.10.2009 Curs 2 ASDN 29
2.2. Aritmetica binarOperaii aritmetice cu numere fr semn
nmulirea binar prin adunarea repetat de produse pariale
produsul este 1 doar daci denmulitul i nmulitorulsunt 1
x y Produsul
0 0 00 1 01 0 01 1 1
-
7/30/2019 curs 2 asdn
30/36
13.10.2009 Curs 2 ASDN 30
2.2. Aritmetica binarOperaii aritmetice cu numere fr semn
nmulirea binar - exemplu:1210 = 11002 x
610 = 011020000
1100
1100
0000
10010002 (64 + 8 = 7210)
-
7/30/2019 curs 2 asdn
31/36
13.10.2009 Curs 2 ASDN 31
2.2. Aritmetica binarOperaii aritmetice cu numere fr semn
mprirea binar nu se poate efectua dac mpritorul este egal cu 0!!!
trebuie s fie satisfcut relaia:X = Q Y + 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
-
7/30/2019 curs 2 asdn
32/36
13.10.2009 Curs 2 ASDN 32
2.2. Aritmetica binarOperaii aritmetice cu numere fr semn
mprirea binar - exemplu14710 = 100100112 ; 1110 = 1011210010011 : 1011 = 11012 ct = 13101011
1110
10111111
1011
1002 rest = 410
-
7/30/2019 curs 2 asdn
33/36
13.10.2009 Curs 2 ASDN 33
2.2. Aritmetica binarOperaii aritmetice cu numere n virgul fix
Adunarea numerelor reprezentate ncomplement 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 daci
numai dac rezultatul are semn contrar semnelor numerelor
-
7/30/2019 curs 2 asdn
34/36
13.10.2009 Curs 2 ASDN 34
2.2. Aritmetica binarOperaii aritmetice cu numere n virgul fix
Adunarea numerelor reprezentate n complementfa de 2 - exemple+ 910 0 10012 + 910 0 10012
+ 510 0 01012 + 1110 0 10112+1410 0 11102 + 2010 1 01002 rezultat incorect- 910 1 01112 - 910 1 01112- 510 1 10112 - 1110 1 01012
- 1410 11 00102 - 2010 10 11002 rezultat incorect+ 710 0 01112 - 710 1 10012- 410 1 11002 + 410 0 01002
+ 310 10 00112 - 310 1 11012
-
7/30/2019 curs 2 asdn
35/36
13.10.2009 Curs 2 ASDN 35
2.2. Aritmetica binarOperaii aritmetice cu numere n virgul fix
Scderea numerelor reprezentate n complementfa 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 sedispune de sumatoare elementare
pot s apar depiri, care trebuie detectate la scderea unor numere de semne contrare pot s apar
depiri daci numai dac rezultatul are acelai semn cuscztorul
-
7/30/2019 curs 2 asdn
36/36
13.10.2009 Curs 2 ASDN 36
2.2. Aritmetica binarOperaii aritmetice cu numere n virgul fix
Scderea numerelor reprezentate n complement fade 2 - exemplu pentru metoda cu adunare cucomplementul fa de 2 al scztoruluiD: + 710 0 01112S: - 410 1 11002S: - (- 4)10 0 01002 complement fa de 2
Atunci:D: + 710 0 01112S: + 410 0 01002
+1110 0 10112
top related