curs 2 asdn

Embed Size (px)

Citation preview

  • 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