structura și organizarealuci/soc/soc_01.pdfcomplementul față de 2 al unui număr binar defini...
TRANSCRIPT
Structura și Organizarea Calculatoarelor
Titular:
BĂRBULESCU Lucian-Florentin
Capitolul 1
Reprezentarea Numerelor cu Semn
3/5/2019 SOC_01 2018-2019 3
CONȚINUT
Prezentare generală
Reprezentarea in cod direct (FXP -virgulă fixă)
Reprezentarea in cod complement față de 2 (FXP - virgulă fixă)
Deplasarea numerelor cu semn
3/5/2019 SOC_01 2018-2019 4
PREZENTARE GENERALĂN – număr binar
N = ± bn-1bn-2 …b1b0 , b-1 …b-m
Unde biЄ {0,1}
Deorece sistemul de numerație binar nu este simetric în raport cu cifra 0, reprezentarea directă a numerelor cu semn nu este posibilă. Aceasta înseamnă că estenecesară o reprezentare codificată.
Reprezentare codificată a numerelor cu semn:
1. Codificarea semnului:bs=0 dacă N>0
bs=1 dacă N<0
2. Codificarea valorii numărului:Codificare directă
Reprezentare în complement față de 2
Reprezentare în complement față de 1
3/5/2019 SOC_01 2018-2019 5
PREZENTARE GENERALĂForme de reprezentare a numerelor:
Virgulă fixă (Fixed Point - FXP) – separatorul între partea întreagă și partea zecimală are o poziție fixă.
Virgulă mobilă (Floating Point - FLP) – când numărul este compus din mantisă și exponent(m•re).
r = baza de numerație (de obicei 2),
m = mantissa (fractie)
e = exponent (întreg)
3/5/2019 SOC_01 2018-2019 6
CONȚINUT
Prezentare generală
Reprezentarea in cod direct (FXP -virgulă fixă)
Reprezentarea in cod complement față de 2 (FXP - virgulă fixă)
Deplasarea numerelor cu semn
3/5/2019 SOC_01 2018-2019 7
REPREZENTAREA FXP – COD DIRECTDeoarece separatorul între partea întreagă și partea
fracționară are o poziție fixă, reprezentarea lui explicită nu are sens.
Deci, numărul N cu n biți în partea întreagă și m biți în partea fractionară va fi reprezentat ca:
N = bs bn-1 …b1b0b-1 …b-m
Pe durata cursului vom considera un caz particular pentru reprezentarea numerelor cu semn – toate numerele sunt subunitare.
Deci, bitul de semn va ocupa poziția primului bit din partea întreagă (b0).
N = bs b-1 …b-m
3/5/2019 SOC_01 2018-2019 8
REPREZENTAREA FXP – COD DIRECTExemple:
N1 = + 0.74
N2 = - 0.74
Reprezentarea FXP 1+15 este:
N1
N2
3/5/2019 SOC_01 2018-2019 9
CONȚINUT
Prezentare generală
Reprezentarea in cod direct (FXP -virgulă fixă)
Reprezentarea in cod complement față de 2 (FXP - virgulă fixă)
Deplasarea numerelor cu semn
3/5/2019 SOC_01 2018-2019 10
REPREZENTAREA FXP – COMPLEMENT FAȚĂ DE 2
Complementul față de 1 al unui număr binar
Fie N cu n biți la partea întreagă și m biți la partea fractionară.
N = bn-12n-1+bn-22
n-2+...+b121+b0+b-12
-1+...b-m2-m
Definiție: Se numește complement față de 1 al lui N acel număr scris în același format și care se obține prin complementarea fiecărui bit al numărului inițial.
Deci Proprietate:
1
2n
mi
i
ibN
1n
mi
i
i2bN
Nb)-b(bN mnn
mi
i
i
n
mi
in
mi
i
i
n
mi
i
i
22222121111
mn NN 22 NN )(
3/5/2019 SOC_01 2018-2019 11
REPREZENTAREA FXP – COMPLEMENT FAȚĂ DE 2
Complementator față de 1 - schema bloc
Complementator față de 1 - schema folosind porți
3/5/2019 SOC_01 2018-2019 12
REPREZENTAREA FXP – COMPLEMENT FAȚĂ DE 2
Complementator față de 1 – cod VHDL
3/5/2019 SOC_01 2018-2019 13
REPREZENTAREA FXP – COMPLEMENT FAȚĂ DE 2
Complementul față de 2 al unui număr binar
Definiție: Se numește complement față de 2 al lui N acel număr scris în același format și care este calculat cu formula:
Proprietăți:
NN n 2
N)N(
mNN 2
3/5/2019 SOC_01 2018-2019 14
REPREZENTAREA FXP – COMPLEMENT FAȚĂ DE 2
Complementator față de 2 - schema bloc
Complementator față de 2 - schema bloc rafinată
3/5/2019 SOC_01 2018-2019 15
REPREZENTAREA FXP – COMPLEMENT FAȚĂ DE 2
Complementator față de 2 – cod VHDL
3/5/2019 SOC_01 2018-2019 16
REPREZENTAREA FXP – COMPLEMENT FAȚĂ DE 2
Reprezentarea numerelor în complement față de 2
Fie N un număr cu semn
|N| = bn-12n-1+bn-22
n-2+...+b121+b0+b-12
-1+...b-m2-m
Pentru reprezentarea în cod complement față de 2 bitul de semn are ponderea –2n, și este poziționat obligatoriu ca cel mai semnificativ bit al numărului..
Reprezentarea numerelor în cod complement față de 2 se face urmând regula:
pentru N>0
pentru N<0
NN 0
NN 1
3/5/2019 SOC_01 2018-2019 17
REPREZENTAREA FXP – COMPLEMENT FAȚĂ DE 2
În acest curs vom folosi doar numere subunitare (|N|<1)
În acest caz se observă:
1. Bitul de semn are ponderea –20
2. Se acceptă o singură reprezentare pentru 0, combinația 0|00 … 0
3. Combinația 1|00…0 este folosită, prin convenție, pentru a reprezenta -1
4. Acest format de reprezentare FXP 1+m, pentru numere subunitare, se numește format Q-m
5. Reprezentarea unui număr negativ in cod complement față de 2 se poate realiza imediat dacă se cunoaște valoarea numărului pozitiv in același format prin extensia numărului cu bitul de semn (complement față de 2 extins).
3/5/2019 SOC_01 2018-2019 18
REPREZENTAREA FXP – COMPLEMENT FAȚĂ DE 2
Exemple:
N1 = + 0.74
N2 = - 0.74
Reprezentarea FXP 1+15 în cod complement față de 2:
N1
N2
3/5/2019 SOC_01 2018-2019 19
CONȚINUT
Prezentare generală
Reprezentarea in cod direct (FXP -virgulă fixă)
Reprezentarea in cod complement față de 2 (FXP - virgulă fixă)
Deplasarea numerelor cu semn
3/5/2019 SOC_01 2018-2019 20
DEPLASAREA NUMERELOR CU SEMN
Deplasare la stânga este echivalentă cu înmulțirea cu 2.
Bitul din stânga este pierdut și se introduce un 0 la dreapta indiferent de codul folosit pentru reprezentarea numerelor.
Deplasare la dreapta este echivalentă cu împărțirea la 2(înmulțire cu 2-1).
Bitul din dreapta se pierde și se introduce 0 în stânga in cazul codului direct sau bitul de semn in cazul codului complement față de 2.
Observație: Deplasarea numerelor afectează numai valoarea absolută a numărului, nu și bitul de semn.
3/5/2019 SOC_01 2018-2019 21
DEPLASAREA NUMERELOR CU SEMNExemple:
3/5/2019 SOC_01 2018-2019 22
DEPLASAREA NUMERELOR CU SEMNExemple:
3/5/2019 SOC_01 2018-2019 23
Întrebări?