Author
reb2009
View
262
Download
1
Embed Size (px)
7/25/2019 bazele aritmeticii calculatoarelor
1/28
BAZELE INFORMATICII
Asist. Dr. Gianu Mihail
mailto:[email protected]:[email protected]7/25/2019 bazele aritmeticii calculatoarelor
2/28
Continut
1 Generalitati despre calculatoarele electronice
1.1 Structura si functionarea unui calculator electronic
1.2 Istoric
2 Bazele aritmetice ale calculatoarelor electronice
2.1 Sisteme de numeratie
7/25/2019 bazele aritmeticii calculatoarelor
3/28
Bibliografie
P. PopoviciBazele informaticii, Editura Eurostampa, 2013.
A. Tanenbaum Organizarea structurata a calculatoarelor, Ed. Agora,
1999.
7/25/2019 bazele aritmeticii calculatoarelor
4/28
Modul de notare:
Laborator/Seminar: 40%
Examen: 60%
Examen partial in saptamana a 7-a.
Examen final in sesiune!
7/25/2019 bazele aritmeticii calculatoarelor
5/28
1 GENERALITATI DESPRE CALCULATOARELE
ELECTRONICE
7/25/2019 bazele aritmeticii calculatoarelor
6/28
1.1 Structura si functionarea unui calculator electronic
John von Neumann, iunie 1945, Prima schita de raport asupraEDVAC:
7/25/2019 bazele aritmeticii calculatoarelor
7/28
1.2 Istoric
500 i.H., China antica: abacul;
1617, John Napier: dispozitiv ~ rigla de calcul;
1642, fizicianul francez Blaise Pascal: masina de adunat;
1671, Gottfried Wilhelm von Leibniz: prima masina mecanica pentru
operatia de inmultire;
1823, profesorul Charles Babbage, Universitatea din Cambridge: masinadiferentiala (tabelele de logaritmi) - cartele perforate
7/25/2019 bazele aritmeticii calculatoarelor
8/28
Calculatoare electronice.
1943, guvernul britanic: primul calculator electronic Colossus
(decodificarea mesajelor germane);
7 august 1944, Howard Aiken (Universitatea Harvard) + IBM
(International Business Machines) + Bell Telephone: Mark I (calculator electro-
mecanic pentru calculul traiectoriilor balistice).
7/25/2019 bazele aritmeticii calculatoarelor
9/28
Dezvoltarea tehnicii de calcul in Romania.
1957 dr.ing. Victor Toma, CIFA 1 (Calculator al Institutului de Fizica
Atomica), cu tuburi electronice.
1961 MECIPT 1 (Masina Electronica de Calcul Institutul Politehnic
Timisoara) cu tuburi electroniceMECIPT 2 si 3, cu tranzistoare.
1966 DACICC 1 (Cluj).
7/25/2019 bazele aritmeticii calculatoarelor
10/28
Bazele industrie de calculatoare: 1970 Fabrica de Calculatoare
BucurestiFelix C256 (licenta franceza).
7/25/2019 bazele aritmeticii calculatoarelor
11/28
-FELIX M18, M18B, M118, cu microprocesor Intel 8080 la 2 MHz, 64 Kocteti de
memorie interna, display grafic de 512x256 pixeli (numai la M118), unitati de disc flexibil
de 8,sistem de operare CP/M si SFDX-18;
7/25/2019 bazele aritmeticii calculatoarelor
12/28
-FELIX M216, sistem biprocesor cu 8086 si 8080, memorie RAM de 128
Kocteti, extensibila pana la 1 Moctet, display grafic color de 512x512 pixeli;
7/25/2019 bazele aritmeticii calculatoarelor
13/28
-FELIX PC, realizat cu microprocesor Intel 8086 (8088), coprocesor matematic
8087, memorie RAM de 256 Kocteti, extensibila la 640 Kocteti pe placa de baza, unitati
de disc flexibil de 5,sistem de operare MS-DOS;
7/25/2019 bazele aritmeticii calculatoarelor
14/28
-HC-85, destinat utilizarii acasa sau in scoli, cu microprocesor Zilog Z80, 64
Kocteti de RAM, interfata cu unitate de caseta magnetica audio (casetofon audio),
afisare pe televizor si interpretor BASIC;
7/25/2019 bazele aritmeticii calculatoarelor
15/28
2 BAZELE ARITMETICE ALE
CALCULATOARELOR ELECTRONICE
7/25/2019 bazele aritmeticii calculatoarelor
16/28
2.1 Sisteme de numeratie
Sistem de numeratie: totalitatea regulilor de reprezentare a
numerelor cu ajutorul unor simboluri numite cifre.
Cifra: simbol care reprezinta o cantitate intreaga.
Baza (radacina) sistemului de numeratie: numarul de simboluri
permise pentru reprezentarea cifrei.
=> bazele 2, 8, 10 si 16
7/25/2019 bazele aritmeticii calculatoarelor
17/28
b=10 b=2 b=8 b=16
0 0 0 0
1 1 1 1
2 10 2 2
3 11 3 3
4 100 4 4
5 101 5 5
6 110 6 6
7 111 7 7
8 1000 10 8
9 1001 11 910 1010 12 A
11 1011 13 B
12 1100 14 C
13 1101 15 D
14 1110 16 E
15 1111 17 F16 10000 20 10
17 10001 21 11
18 10010 22 12
19 10011 23 13
20 10100 24 14
21 10101 25 15... ... ... ...
7/25/2019 bazele aritmeticii calculatoarelor
18/28
Schimbarea bazei de numeratie
separat pentru partea intreaga si separat pentru partea subunitara!
Nnumar intreg fara semn in bazaxnoua baza y.
7/25/2019 bazele aritmeticii calculatoarelor
19/28
Reprezentarea N in baza y: anan-1... a1a0
N = anyn+ an-1yn-1+ ... + a1y + a0
=> impartiri succesive la noua baza y, retinand la fiecare operatie restul!
N / y = anyn-1+ an-1y
n-2+ ... + a1+ a0/y
=> a0(cifra cea mai putin semnificativa a rezultatului)
N1/ y = anyn-2+ an-1y
n-3+ ... + a2+ a1/y
.
Nk/ y = anyn-k-1+ an-1y
n-k-2+ ... + ak+1+ ak/y
Conversia se incheie cand se obtine catul 0.
7/25/2019 bazele aritmeticii calculatoarelor
20/28
Exemplu.N= 41(10)noua baza 2.
41 : 2 => cat =20 si rest = 1 => a0= 1
20 : 2 => cat =10 si rest = 0 => a1= 010 : 2 => cat = 5 si rest = 0 => a
2= 0
5 : 2 => cat = 2 si rest = 1 => a3= 1
2 : 2 => cat = 1 si rest = 0 => a4= 0
1 : 2 => cat = 0 si rest = 1 => a5= 1
=> N= 101001(2). Verificare:
N = 125+ 024+ 123+ 022+ 021+ 120= 41corect!
7/25/2019 bazele aritmeticii calculatoarelor
21/28
Aplicatie.algoritm in pseudocod pentru conversia unui
numar intreg din zecimal in binar.
citestenr
i = 0
cat timpnr 2iexecuta a[i] = 0 i = i + 1i = i - 1; n = i; a[n] = 1; nr = nr 2icat timpnr 0 executa i = i 1 dacanr 2iatunci a[i] = 1
nr = nr 2iscrie(a[i], i = n,0)
7/25/2019 bazele aritmeticii calculatoarelor
22/28
Nnumar subunitar, fara semn in bazaxnoua baza y.
Reprezentarea N in baza y: 0. a-1a-2... a-m
N = a-1y-1+ a-2y
-2+ ... + a-my-m
=> inmultiri succesive cu noua baza y, retinand de fiecare data partea
intreaga a rezultatului!
Ny = a-1+ a-2y-1+ a-3y
-2+ ... + a-my-m+1
=> a-1(cea mai semnificativa)
N1y = a-2+ a-3y-1+ a-4y
-2+ ... + a-my-m+2
Nky = a-k-1+ a-k-2y-1+ a-k-3y
-2+ ... + a-my-m+k+1
7/25/2019 bazele aritmeticii calculatoarelor
23/28
Conversia se incheie:
-partea subunitara a rezultatului inmultirii egala cu zero ;
-s-a calculat numarul propus de cifre (s-a atins precizia dorita).
Obs.
conversia numerelor intregi: exact;
conversia numerelor subunitare: aproximativ.
7/25/2019 bazele aritmeticii calculatoarelor
24/28
Exemplu.N= 0.37(10)baza 2 (rezultatul pe 7 biti).
0.37 x 2 = 0.74 => a-1= 00.74 x 2 = 1.48 => a
-2= 1
0.48 x 2 = 0.96 => a-3= 0
0.96 x 2 = 1.92 => a-4= 1
0.92 x 2 = 1.84 => a-5= 1
0.84 x 2 = 1.68 => a-6= 1
0.68 x 2 = 1.36 => a-7= 1
N.0101111(2). Verificare:
N 02-1+12-2+02-3+12-4+12-5+12-6+12-7== (026+125+024+123+122+121+120)/27== 47 / 128 = 0.367
7/25/2019 bazele aritmeticii calculatoarelor
25/28
Exemplu.N= 41.37(10)baza 2 (partea subunitara pe 7).
=> N 101001.0101111(2).
7/25/2019 bazele aritmeticii calculatoarelor
26/28
Aplicatie.algoritm pentru conversia unui numar subunitar din zecimal in
binar, cu precizia pe mbiti.
citestenr, m
pentrui=1,m executa
a[i] = 0i = 0
cat timp
(nr 0)si(i < m) executa
i = i + 1 dacanr 2-iatunci a[i] = 1 nr = nr 2-iscrie(a[i], i = 1,m)
7/25/2019 bazele aritmeticii calculatoarelor
27/28
Cazuri particulare
1) x = y n=> fiecare cifra in bazax~ grup de n cifre in baza y.
Exemplu.N= 3CF.4AE(16)baza 2
16 = 24=> n= 4
3 C F . 4 A E
0011 1100 1111 . 0100 1010 1110
=> N= 1111001111.01001010111(2).
Conversia s-a facut exact !
7/25/2019 bazele aritmeticii calculatoarelor
28/28
2)xn= y.
-in vechea bazax=> grupuri de cate ncifre de la punctul zecimal spre
stanga pentru partea intreaga si de la punctul zecimal spre dreapta pentru
partea subunitara (daca este necesar se vor completa grupurile extreme cuzerouri);
-fiecare grupcifra in noua baza y.
Rezultatul este exact!
Exemplu.N= 11001111.1101011(2)in baza 8.
23= 8 => n= 3.
011 001 111 . 110 101 100
3 1 7 . 6 5 4
=> N= 317.654(8)