bazele aritmeticii calculatoarelor

  • Upload
    reb2009

  • View
    303

  • Download
    1

Embed Size (px)

Citation preview

  • 7/25/2019 bazele aritmeticii calculatoarelor

    1/28

    BAZELE INFORMATICII

    Asist. Dr. Gianu Mihail

    [email protected]

    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)