Documente Academic
Documente Profesional
Documente Cultură
Curs 3
Iași, 2021
Sumar
2. Reprezentarea numerelor în SC
2
Cap. 1. REPREZENTAREA INFORMAŢIEI ÎN
SC NUMERICE
3
1. Conversia numerelor dintr-o bază în alta
Curs 1,2 – overview
e) Conversia Binar-Octal-Hexazecimal
4
1. Conversia numerelor dintr-o bază în alta
Curs 1,2 – overview
e) Conversia Binar-Octal-Hexazecimal Zeci Octal Hexa- Binar
mal zecimal
Conversia octal-binar sau hexazecimal- 0 0 0 0000
1 1 1 0001
binar se realizează exprimând fiecare cifră 2 2 2 0010
octală, respectiv hexazecimală, prin 3, 3 3 3 0011
respectiv 4, cifre binare. 4 4 4 0100
5 5 5 0101
6 6 6 0110
Conversia binar-octal sau binar- 7 7 7 0111
8 10 8 1000
hexazecimal se realizează grupând câte 3, 9 11 9 1001
respectiv 4, cifre binare începând de la 10 12 A 1010
marca fracţionară (punct, virgulă) spre 11 13 B 1011
stânga şi spre dreapta. Apoi se ataşează 12 14 C 1100
13 15 D 1101
fiecărei grupe simbolul echivalent din octal 14 16 E 1110
sau din hexazecimal şi combinaţia obţinută 15 17 F 1111
este chiar reprezentarea. Grupele extreme 16 20 10 10000
se completează, dacă este cazul, cu 5
zerouri nesemnificative.
2. Noțiuni de codificare a informației
Curs 1,2 – overview
Schimbarea formei de reprezentare a informaţiei se numeşte
codificare.
Cuvintele mulțimii 𝐂𝐂 sunt cuvinte binare de lungime 8, 16, 32, 64, ...
3 Coduri numerice
Curs 1,2 – overview
3.2 Reprezentarea numerelor naturale (reprezentare aritmetică)
Reprezentarea numerelor naturale N = {0, 1, 2, …} se realizează pe un număr
fix de poziţii binare (formatul cu virgulă fixă)
Regula de asociere: reprezentarea binară a valorii respective
𝑛𝑛 𝑛𝑛 − 1 𝑛𝑛 − 2 2 1
…
2𝑛𝑛−1 2𝑛𝑛−2 2𝑛𝑛−3 21 20
În poziţiile 1,2,3 … 𝑛𝑛 sunt înscrise cifrele binare corespunzătoare numărului
natural reprezentat în binar.
Alinierea numerelor naturale se realizează la dreapta.
Zerourile nesemnificative (daca este cazul) sunt plasate în faţa numărului.
Pentru 𝑛𝑛 biţi, se pot reprezenta numerele naturale din intervalul [0, 2𝑛𝑛 − 1].
3 Coduri numerice
Curs 1,2 – overview
3.3 Reprezentarea numerelor întregi
Coduri de reprezentare:
reprezentarea în semn-mărime (cod direct),
complement faţă de 2 (cod complementar),
în complement faţă de 1 (cod invers),
în exces, etc.
(2)
Unde,
𝑁𝑁 este reprezentarea în valoare absolută a numărului 𝑁𝑁
𝑛𝑛 dimensiunea reprezentării (numărul de poziţii binare inclusiv semnul)
12
3.3 Reprezentarea numerelor întregi
b) Reprezentarea numerelor întregi în complement față de 2
(cod complementar)
Numărul negativ , în baza 2, are reprezentarea (pe biţi, inclusiv
semnul):
n−2
N = −bn − 2bn −3 b1b0 = −∑ bi 2i (3)
i =0
n−2
⇔ Nc = 2 n −1
+ ∑ (1 − bi )2 i
+1 (4)
i =0 13
3.3 Reprezentarea numerelor întregi
b) Reprezentarea numerelor întregi în complement față de 2
(cod complementar)
14
3.3 Reprezentarea numerelor întregi
b) Reprezentarea numerelor întregi în complement față de 2
(cod complementar)
(6)
Din relațiile (6) și (7) rezultă două reguli de obţinere a codului invers:
19
3.3 Reprezentarea numerelor întregi
d) Reprezentarea numerelor în cod exces
[0, 2 − 1]
n
𝑁𝑁 = 𝑀𝑀 ∙ 𝐵𝐵𝐸𝐸
– 𝐸𝐸 - se numeşte exponent şi este un număr întreg (pozitiv sau
negativ), ce determină ordinul de mărime al numărului;
– 𝑀𝑀 - este un număr fracţionar numit mantisă, ce determină precizia
numărului.
21
3.4 Reprezentarea numerelor reale
Acest neajuns se înlătură dacă se consideră o reprezentare în
care mantisa satisface relaţia:
N mantise = (B − 1)B m −1
[( ) ]
D = − 2 e −1 − 1 , 2 e −1 − 1 se transformă în [
D′ = 1, 2 e −1 ]
Valoarea 0 a exponentului în cod exces este rezervată pentru
reprezentarea numărului real 0.0, deoarece valoarea 0 nu poate fi
normalizată (mantisa M ≠ 0)
Exponentul reprezentat în cod exces se mai numeşte caracteristică. 25
3.4 Reprezentarea numerelor reale
În general, în formatul cu virgulă mobilă, un număr real se aduce în
forma:
28
3.4 Reprezentarea numerelor reale
Standardul IEEE defineşte trei formate:
– simplă precizie (32 biţi);
– dublă precizie (64 biţi);
– precizie extinsă (80 biţi) - se utilizează în interiorul unităţilor aritmetice de virgulă
mobilă, la care programatorii nu au acces.
Exemple: https://www.h-schmidt.net/FloatConverter/IEEE754.html
29
3.4 Reprezentarea numerelor reale
30
3.4 Reprezentarea numerelor reale
Ex. Reprezentarea numărului -13.25(10) în virgulă mobilă, simplă precizie,
cu bit ascuns.
Pas 1. Transformăm numărul din baza 10 în baza 2.
-13.25(10) = -1101,01(2)
Pas 2. Normalizăm mantisa
-1101,01(2) = -1,10101(2) * 23(10)
Pas 3. Calculam caracteristica
c= 127 + 3 = 130(10) =10000010(2)
Pas 4. Reprezentăm numărul pe 32 biți
1 10000010 10101000000000000000000
BS caracteristică mantisa