Documente Academic
Documente Profesional
Documente Cultură
Sign-Magnitude
Binary One's Complement
Two's Complement
Fixed-point
Instructions Binary Coded Decimal
Decimal Excess of 3
Numbers
Information Two-out-of-five
IEEE 754
Data Floating-point
IBM floating-point format
ASCII
Non-numerical data EBCDIC
UNICODE
3 / 48
1.1 - Clasificarea informat, iilor (contin.)
4 / 48
1.1 - Clasificarea informat, iilor (cont.)
5 / 48
1.2 - Reprezentarea numerelor de virgulă fixă
6 / 48
1.2 - Reprezentarea numerelor de virgulă fixă (cont.)
103(10)= 1 1 0 0 1 1 1 . (2)
weights 26 25 24 23 22 21 20
68(10)= 1 0 0 0 1 0 0 . (2)
7 / 48
1.2 - Reprezentarea numerelor de virgulă fixă (cont.)
Pentru numere fract, ionare, punctul binar se află la stânga celui mai
semnificativ bit (MSB).
▶ X = .xn−1 xn−2 · · · x1 x0 = n−1 i−n , pentru X pe n biti
P
i=0 xi ∗ 2 ,
Exemplu:
103
128 = . 1 1 0 0 1 1 1(2)
(10)
weights 2-1 2-2 2-3 2-4 2-5 2-6 2-7
17
32 = . 1 0 0 0 1(2)
(10)
8 / 48
1.2.1 - Semn-Mărime
Exemplu:
+10310 = 0 1100111(SM)
−10310 = 1 1100111(SM)
9 / 48
1.2.1 - Semn-Mărime (cont.)
Interval valoric:
10 / 48
1.2.1 - Semn-Mărime (cont.)
Precizie:
11 / 48
1.2.1 - Semn-Mărime (cont.)
Dezavantaje:
▶ există două configurat, ii binare pentru 0 ı̂n Semn-Mărime
▶ +0 : 0 00 · · · 000
▶ −0 : 1 00 · · · 000
12 / 48
1.2.1 - Semn-Mărime (cont.)
Dezavantaje:
▶ Adunarea ı̂n Semn-Mărime
▶ se consideră operanzii X = 5 s, i Y = 2, pe 4 bit, i
▶ cele patru posibile configurat, ii de semn pentru adunare
X=+5: 0 1 0 1 SM X=+5: 0 1 0 1 SM
+ +
Y=+2: 0 0 1 0SM Y=-2: 1 0 1 0SM
0 1 1 1 SM =+7SM 1 1 1 1 SM =-7SM
X=-5: 1 1 0 1 SM X=-5: 1 1 0 1 SM
+ +
Y=+2: 0 0 1 0SM Y=-2: 1 0 1 0SM
1 1 1 1 SM =+7SM 1 0 1 1 1 SM =+7SM
13 / 48
1.2.2 - Complementul de 1
Exemplu:
+10310 = 0 1100111(C 1)
−10310 = 1 0011000(C 1)
+6810 = 0 1000100(C 1)
−6810 = 1 0111011(C 1)
14 / 48
1.2.2 - Complementul de 1 (cont.)
Interval de valori:
▶ la fel ca pentru Semn-Mărime
▶ pentru un număr dat pe n bit, i, Semn-Mărime s, i Complementul de
1 codifică acelas, i număr de valori
Precizie:
▶ la fel ca pentru Semn-Mărime
▶ deoarece codifică acelas, i număr de valori, Complementul de 1 are
aceeas, i precizie ca Semn-Mărime
Complexitate hardware:
▶ complexitatea hardware mai mare pentru Complementul de 1
▶ nu mai este favorabil operat, iei de ı̂nmult, ire
Dezavantaje:
▶ există două configurat, ii binare pentru 0 ı̂n Complementul de 1
▶ +0 : 0 00 · · · 000
▶ −0 : 1 11 · · · 111
15 / 48
1.2.2 - Complementul de 1 (cont.)
Dezavantaje:
▶ Adunarea ı̂n Complementul de 1
▶ se consideră aceias, i operanzi X = 5 s, i Y = 2, pe 4 bit, i
▶ cele patru posibile configurat, ii de semn pentru adunare
X=+5: 0 1 0 1 C1 X=+5: 0 1 0 1 C1
+ +
Y=+2: 0 0 1 0C1 Y=-2: 1 1 0 1 C1
0 1 1 1 C1 =+7C1 end 1 0 0 1 0C1 =+2C1
around +
carry 1
0 0 1 1 C1 =+3C1
+10310 = 0 1 1 0 0 1 1 1 (C 2)
−10310 = 1 1 1 0 0 1 1 1 (SM)
= 1 0 0 1 1 0 0 0 (C 1)
1 +
= 1 0 0 1 1 0 0 1 (C 2)
17 / 48
1.2.3 - Complementul de 2 (cont.)
−10310 = 1 1 1 0 0 1 1 1 (SM)
⇓ ⇓ ⇓ ⇓ ⇓ ⇓
= 1 0 0 1 1 0 0 1 (C 2)
−6810 = 1 1 0 0 0 1 0 0 (SM)
⇓ ⇓ ⇓ ⇓
= 1 0 1 1 1 1 0 0 (C 2)
18 / 48
1.2.3 - Complementul de 2 (cont.)
Precizia:
▶ p = ⌈(n − 1)log10 2⌉
Complexitate hardware:
▶ adunarea s, i scăderea sunt mai simple decât ı̂n cazul SM/C1
(SM nu poate efectua corect adunări independent de semnele
operanzilor)
▶ ı̂nmult, irea este mai complexă decât ı̂n cazul SM
19 / 48
1.2.3 - Complementul de 2 (cont.)
−0 = 1 0 0 ··· 0 0 0 (SM)
= 1 1 1 ··· 1 1 1 (C 1)
1 +
= 1 0 0 0 ··· 0 0 0 (C 2)
▶ observat, ii:
▶ Este ignorat transportul din MSB (cel mai din stânga bit de 1)
deoarece adunarea unităt, ii se efectuează modulo 2n , conform
definit, iei Complementului de doi
▶ Pentru numere fract, ionare, se poate construi reprezentarea -0
ı̂ntr-un mod similar
20 / 48
1.2.3 - Complementul de 2 (cont.)
Adunarea binară ı̂n Complementul de 2:
▶ se consideră aceias, i operanzi X = 5 s, i Y = 2, pe 4 bit, i
▶ cele patru configurat, ii posibile ale semnelor pentru adunare
X=+5: 0 1 0 1 C2 X=+5: 0 1 0 1 C2
+ +
Y=+2: 0 0 1 0C2 Y=-2: 1 1 1 0C2
0 1 1 1 C2 =+7C2 1 0 0 1 1 C2 =+3C2
X=-5: 1 0 1 1 C2 X=-5: 1 0 1 1 C2
+ +
Y=+2: 0 0 1 0C2 Y=-2: 1 1 1 0C2
1 1 0 1 C2 1 1 0 0 1 C2
1 0 1 1 SM =-3SM 1 1 1 1 SM =-7SM
22 / 48
1.2.3 - Complementul de 2 (cont.)
Comparat, ie a codurilor pentru numere ı̂ntregi pe 5 bit, i:
Număr Coduri binare de virgulă fixă
zecimal SM C1 C2
+15 01111 01111 01111
+14 01110 01110 01110
.. .. .. ..
. . . .
+2 00010 00010 00010
+1 00001 00001 00001
+0 00000 00000 00000
-0 10000 11111 00000
-1 10001 11110 11111
-2 10010 11101 11110
.. .. .. ..
. . . .
-14 11110 10001 10010
-15 11111 10000 10001
-16 — — 10000
23 / 48
1.2.3 - Complementul de 2 (cont.)
1 00 · · · 000 = +2n−1
24 / 48
1.2.3 - Complementul de 2 (cont.)
Overflow aritmetic:
▶ Rezultatul unei operat, ii aritmetice depăs, es, te capacitatea de
stocare.
26 / 48
1.2.4 - Interpretare alternativă a Complementului de doi
X = 1 ⋆
xn−2 ⋆
xn−3 ··· x1⋆ x0⋆
= ( 1 ⋆
xn−2 ⋆
xn−3 ··· x1⋆ x0⋆ ) mod 2n
= 1 0 0 ··· 0 0
⋆ ⋆ mod 2n
+ 0 xn−2 xn−3 · · · x1⋆ x0⋆
= ( −2n−1 + 0 ⋆
xn−2 ⋆
xn−3 · · · x1⋆ x0⋆ ) mod 2n
Număr pozitiv ı̂n C2
= −2n−1 + 0 ⋆
xn−2 ⋆
xn−3 ··· x1⋆ x0⋆
27 / 48
1.2.4 - Interpretare alternativă a Complementului de doi (contd.)
Interpretarea lui Robertson: valoarea unui număr negativ ı̂n C2
este egală cu valoarea numărului pozitiv obt, inut prin s, tergerea
bitului de semn din care se scade ponderea asociată bitului de
semn.
Exemplu:
−10310 = 1 0 0 1 1 0 0 1 (C 2)
⇓
= −1 ∗ 27 + 0 0 0 1 1 0 0 1 (C 2)
= −128+ 25
= −103
−6810 = 1 0 1 1 1 1 0 0 (C 2)
⇓
= −1 ∗ 27 + 0 0 1 1 1 1 0 0 (C 2)
= −128+ 60
= −68
28 / 48
1.2.4 - Interpretare alternativă a Complementului de doi (contd.)
Interpretarea lui Robertson se aplică s, i numerelOR pozitive:
+10310 = 0 1 1 0 0 1 1 1 (C 2)
= −0 ∗ 27 + 0 1 1 0 0 1 1 1 (C 2)
= 0+ 103
= +103
În general:
▶ SE consideră X , ı̂ntreg reprezentat ı̂n C2, pe n bit, i, cu
X = xn−1 xn−2 xn−3 · · · x1 x0
▶ valoarea lui X poate fi exprimată ca:
n−2
X
n−1
X = −xn−1 ∗ 2 + xi ∗ 2i
i=0
30 / 48
1.3.1 - Binary Coded Decimal 8421
Exemplu:
31 / 48
1.3.2 - Exces de 3
Exemplu:
32 / 48
1.3.3 - Doi-din-cinci
Exemplu:
33 / 48
1.4 - Reprezentarea numerelor de virgulă mobilă
34 / 48
1.4.1 - Considerat, ii generale
unde
▶ XM - mantisă
▶ S - semnul numărului de virgulă mobilă
▶ XM ⋆ - partea fractionară a mantisei
,
35 / 48
1.4.1 - Considerat, ii generale (contin.)
Constrângeri de reprezentarea numerelor de virgulă mobilă
A Reprezentarea valorii 0
▶ XE egal cu 0: ar trebui să fie cea mai mică valoare posibilă
▶ comparat, ie rapidă cu 0
▶ erori de rotunjire
SM : S|11 · · · 1|00 · · · 0
0
C 2 : S|10 · · · 0|00 · · · 0
36 / 48
1.4.1 - Considerat, ii generale (contin.)
Constrângeri de reprezentarea numerelor de virgulă mobilă
A Reprezentarea valorii 0
▶ Compararea rapidă cu 0 a numerelor de virgulă mobilă
▶ necesită ca XE să fie all-0
▶ ⇒ utilizarea unui cod bias (sau exces) pentru XE
▶ fiecărei configurat, ii binară a noului cod exces i se asociază o valoare
egală cu valoarea binară a codului la care se adaugă valoarea
excesului
SM : 2e−1 − 1
exces
C 2 : 2e−1
0 S|00 · · · 0|00 · · · 0
S XE XS*
<1> <8> <23>
XS = 1.XS⋆
unde
▶ XS - significand
▶ 1 - pozit, ia supraunitară; ascunsă ı̂n reprezentare
▶ XS⋆ - partea fract, ionară a significandului
1 ≤ XS < 2
overflow underflow underflow overflow
- +
Nmin NMAX Pmin PMAX
normalized 0 normalized
negatives positives
B Infinit
▶ indică un rezultat care depăs, es, te capacitatea de reprezentare
▶ preferabil operat, iei de trunchiere la PMAX
▶ Q: de ce?
√
▶ rezultatul unor operat, ii precum X ÷ 0, X ± ∞, ∞
▶ câmpul exponentului, XE = XEmax = 255
▶ câmpul de parte fract, ionară a significandului, XS⋆ = 0
42 / 48
1.4.2 - IEEE 754 (contin.)
Valori speciale ı̂n IEEE 754
C Zero
▶ câmpul exponentului, XE = XEmin = 0
▶ câmpul părt, ii fract, ionare a significandului, XS⋆ = 0
45 / 48
1.4.3 Formatul de virgulă mobilă IBM
Specific sistemelor IBM S/360, S/370
▶ Formate de 32, 64 s, i 128 de bit, i
▶ Baza 16 (= 24 )
▶ Fără bit ascuns
▶ Normalizarea mantisei:
▶ Tot, i bit, ii mantisei sunt la dreapta virgulei binare
▶ Pot exista cel mult 3 leading-zeroes
▶ Un singur caz special - zero:
▶ XE = 0
⋆
▶ XM =0
Formatul de 32 de bit, i:
sign exponent fractional part of mantissa
*
S XE XM
<1> <7> <24>
47 / 48
1.4.3 Formatul de virgulă mobilă IBM (contin.)
48 / 48