Documente Academic
Documente Profesional
Documente Cultură
xb a n b n a n1 b n1 ... a1 b 1 a0 b 0 ,
unde a0, a1,, an Bb reprezint simboluri din baza de numeraie b.
Numrul se reprezint astfel:
xb a n a n- 1 ...a1 a0 .
Conversia unui numr ntreg x din baza 10 ntr-o baz b oarecare se face prin mpriri
succesive de forma:
x b q0 r0 ,
0 r0 b,
x q0 ,
q0 b q1 r1 ,
0 r1 b,
q0 q1 ,
qn- 1 b qn rn ,
0 rn b,
qn- 1 qn ,
qn 0 ,
sau:
x
q0
q1
qn-1
r0
r1
r2
rn
qn = 0
deci
2
2
2 1 2
0 0
0
1
8910 = 10110012
Pentru transformare n baza 8, avem:
89 11 1 0
1
3 1
deci
8910 =1318
deci
8910 =5916
14 4
deci
125910 = 4EB16
Pentru a realiza transformarea invers, din baza b n baza 10, se dezvolt numrul dup
puterile bazei b i se efectueaz calculele n zecimal.
Exemplul 3 : S se realizeze transformrile inverse ale numerelor obinute anterior
din bazele 2, 8 i 16 n baza 10.
1011001(2) = 1 26 + 0 25 + 1 24 + 1 23 +0 22 +0 21 +1 20 = 64 + 16 + 8 + 1 = 89(10)
131(8) = 1 82 + 3 81 + 1 80 = 64 + 24 +1 = 89(10)
59(6) = 5 161 + 9 160 = 89(10)
4EB(16) = 4 162 + 14 161 + 11 160 = 1024 + 224 +11 = 1259(10)
4
OBSERVAII:
Conversia unui numr ntreg dintr-o baz b1 ntr-o baz b2 (b1 10 i b2 10) se face
prin intermediul bazei 10. Excepie de la aceast regul pot face bazele care sunt puteri ale
bazei 2, pentru care se pot face i conversii direct (din baza 2 n baza 8 sau 16 i respectiv
invers). Acest lucru este posibil deoarece 8 i 16 fiind puteri ale lui 2 (8 = 23, 16 = 24)
corespondena dintre bazele de numeraie 2 i 8, respectiv 2 i 16 se face pe baza urmtoarelor
tabele:
Tabelul 1.
x8
x2
0
1
2
3
4
5
6
7
000
001
010
011
100
101
110
111
Tabelul 2.
x16
0
1
2
3
4
5
6
7
x2
x16
x2
0000
0001
0010
0011
0100
0101
0110
0111
8
9
A
B
C
D
E
F
1000
1001
1010
1011
1100
1101
1110
1111
Unei cifre din baza 8 i corespund 3 cifre binare, iar unei cifre din baza 16 i corespund
4 cifre binare. Pentru a realiza transformri directe din baza 2 n bazele 8 sau 16 se formeaz
grupuri de cte 3, respectiv 4 cifre binare pornind de la dreapta spre stnga. Fiecrui grup de
cifre binare astfel constituite i corespunde o cifr octal sau hexazecimal.
Fie numrul n baza 2: 100.111.011(2). Prin transformare direct obinem:
101 111 011 = 573(8)
O explicaie i mai clar (intuitiv) se poate obine n felul urmtor:
101111011(2) = 1 28 + 0 27 + 1 26 + 1 25 +1 24 +1 23 +0 22 +1 21 +1 20 = (1 22 +
0 21 + 1 20) 26 + (1 22 + 1 21 + 1 20) 23 + (0 22 + 1 21 + 1 20) 20 = 5 82 + 7 81 + 3 80
= 573(8)
xb a n b n a n1 b n1 ... a1 b 1 a0 b 0 a 1 b 1 ... a m b m ,
unde an , an-1,, a0, a-1, a-2,, a-m Bb i se reprezint astfel:
xb = an an-1 a-1 a0 a-1a-2 a-m.
Se tie c orice numr x R+ se poate scrie sub forma:
x x x, cu 0 x 1 ,
unde prin [x] s-a notat partea ntreag a lui x, iar prin xs-a notat partea fracionar a lui x.
Conversia unui numr real x R+ din baza 10 ntr-o baz oarecare b se face separat
pentru partea ntreag i partea fracionar.
Conversia prii fracionare n baza b se obine prin nmuliri repetate, dup cum
urmeaz:
b x x1 r1 x1 , 0 r1 b
b x1 x 2 r2 x 2 , 0 r2 b
b x n1 x n rn x n , 0 rn b .
Se obine apoi:
x b 1 r1 b 2 r2 ... b n rn ...
xb r1r2 ...rn ...
deci
x1
x2
xn
r-1
r-2
r-n
Exemple:
1. S se transforme numrul x = 0,125 n baza 2.
0
0
1
1
1
0
0
1
1
0
0
0
0
1
125x2
250x2
500x2
000
3
4
45x2
5
90x2
6
80x2
7
60x2
011
100
101
110
111
20x2
40x2
80x2
60x2
20x2
40x2
0,125(10) = 0,001(2)
0
0
1
1
0001
9
1001
0010 A
2
1010
3
0011
B
1011
2. S se transforme numrul x = 0,45 n baza 2.
0100
4
C
1100
5
0101 D
1101
0110
6
E
1110
0,45 0,90 0,80
0,60 0,20F 0,40
0,80 0,60 0,20 0,40
7
0111
1111
0
sau
deci
Se observ c la partea fracionar s-a obinut perioada 1100, deci numrul 0,45 nu
poate fi scris n baza 2 printr-un numr finit de cifre fracionare.
3. S se transforme numrul 0,48(10) n baza 2.
Se observ c numrul 0,48 nu poate fi scris n baza 2 nici
0
48x2
ca numr periodic, ca n exemplu precedent, i nici cu un numr
finit de cifre fracionare. El se poate reprezenta numai
0
96x2
1
92x2
aproximativ n baza 2.
1
84x2
1
68x2
1
36x2
0
72x2
1
44x2
0
88x2
1
76x2
1
52x2
1
04x2
0
08x2
0
16x2
0
32x2
0
64x2
10
10
10
11
10
11
12
10
11
12
13
10
11
12
13
14
10
11
12
13
14
15
10
11
12
13
14
15
16
10
10
11
10
11
12
10
11
12
13
10
11
12
13
14
10
11
12
13
14
15
10
11
12
13
14
15
16
10
11
12
13
14
15
16
17
10
11
12
13
14
15
16
17
18
10
11
12
13
14
15
16
17
18
19
10
11
12
13
14
15
16
17
18
19
1A
10
11
12
13
14
15
16
17
18
19
1A
1B
10
11
12
13
14
15
16
17
18
19
1A
1B
1C
10
11
12
13
14
15
16
17
18
19
1A
1B
1C
1D
10
11
12
13
14
15
16
17
18
19
1A
1B
1C
1D
1E
8
Bazele aritmetice i logice ale sistemelor de calcul
2. S se adune numerele (163,432)8 i (34,613)8
163,432 +
034,613
220,245
3. S se adune numerele (6FB4)H i (12C3)H
6FB4 +
12C3
8277
2. Codificarea informaiei
Ca parte integrat a prelucrrii informaiilor cu ajutorul calculatorului, codificarea
urmrete transpunerea informaiei din forma ei primar ntr-o form accesibil calculatorului.
Mecanismul codificrii trebuie s fie simplu, astfel nct s poat fi automatizat eficient.
S s1 ,s 2 ,...,s p
A a1 , a 2 ,..., a p
A n w w a i 1a i 2 a i 3 ...a in , a ij A, j 1, n .
Prin A+ vom nota mulimea tuturor cuvintelor ce se pot forma cu litere din A. Deci:
A A A2 A3 ... An ...
Definiie: O aplicaie
injectiv
Exemplu de cod
n paragraful precedent am stabilit o coresponden ntre cifrele zecimale i
reprezentarea lor binar. n acest caz avem de-a face cu un cod uniform, n care:
l a , b ,..., z,
s
L A, B ,..., Z ,
c 0 ,1,...,9,
C:S 0 ,n,
unde n este 127 sau 255. Dac considerm reprezentarea binar avem de-a face cu un cod
omogen pe 7 sau 8 bii.
127 2
x f C x C
x S f C x C
C a C b ...C z
C A C B ...C Z
C 1 C 0 1...C 9 C 8 1
Intervalele:
C a ,C z
C A, C Z
C 0 ,C 9
Calculatoarele medii i mari, precum i cele mai vechi folosesc acest cod de reprezentare.
n prezent, cel mai folosit sistem de codificare este ASCII (American Standard Code
for Information Interchange) care folosete pentru codificare numerele ntregi din intervalul
[0,127]. Fa de condiiile de mai sus, acest cod mai verific relaiile:
C z C a 25
C Z C A 25 .
x c
daca x 0
2 x, daca x 0
11
n-1
n-2
2n-1 2n-2
2n-3
21
20
15 14 13
11 10
28
27
26
25
24
23
22
21
20
12
27
26
25
24
23
22
21
20
12
Procednd similar, numrul maxim ce poate fi reprezentat pe 16 cifre binare este 216-1.
Generaliznd pentru n cifre binare, se va obine 2n -1, apreciind deci c plaja de valori
acoperit de reprezentarea numerelor naturale este n funcie de numrul de cifre binare pe
care se reprezint, fiind situat n intervalul
0 ,...,2
1 .
este pozitiv
0 , dac n
S
1 , dac n este strict negativ
Reprezentarea numerelor ntregi pe n poziii binare este redat n figura 4.
n-1
n-2
S 2n-2
2n-3
21
20
0 0 0 0 0 0 0 0 1 1 1 1 1 0 1
14
. . .
2 1 0
0 0 0 0 0 0 0 0 0 0 1 1 0 1 0
14
. . .
2 1 0
1 1 1 1 1 1 11 1 1 0 0 1 0 1
15 14
. . .
2 1 0
13
1 1 1 1 1 1 11 1 1 0 0 1 1 0
15 14
. . .
2 1 0
16 15 14 13 12 11 10
0 0 0 0 0 0 1
9
0
8
0
7
0
6
0
5
0
4 3 2
0 0 1
1
0
28
27
26
25
24
23 22
20
21
, 27 1 128 , 127
15
14
Bazele aritmetice i logice ale sistemelor de calcul
Exemplu:
S se efectueze 23 + 15 n reprezentarea algebric pe 8 cifre binare.
Efectuarea acestei operaii este redat n figura 6.
23
+
15
=
38
x 1s 1,m 2 e .
Este evident c orice numr real nenul accept o astfel de repezentare. Aceast
reprezentare se numete reprezentare n virgul flotant (mobil).
Exemple:
1) Numrul 25 se va exprima sub forma unui numr n virgul mobil astfel:
unde
25 = 11001(2) = 1,1001x24
mantisa este 1,1001
fracia este 1001
exponentul este e = 4
2) Numrul
31
se va scrie sub forma unui numr n virgul mobil astfel:
32
31 2 4 2 2 2 1 2 0
2 1 2 2 2 3 2 4 2 5 0 ,11111( 2 ) 1 ,1111 2 1
5
32
2
3) Numrul 128,25(10) = 10000000,01(2) = 1,00000001(2)27.
15
Bazele aritmetice i logice ale sistemelor de calcul
Pentru reprezentarea unui numr n virgul flotant, sunt necesare trei zone:
- zona pentru reprezentarea semnului s, care este un bit cu valoarea 0 pentru + i 1
pentru -;
- zona pentru reprezentarea mantisei. Mantisa este numrul 1,m. Partea ntreag nu se
reprezint, avnd ntotdeauna valoarea 1. Din partea fracionar se reine un numr constant i
finit de cifre:
- zona pentru reprezentarea exponentului e. Pentru reprezentarea exponentului se
utilizeaz un numr fix de bii. Pentru a se putea pune n eviden i semnul exponentului, n
zona exponentului se nscrie valoarea e+q, unde q poart numele de deplasament. Expresia
e+q poart numele de caracteristic a numrului real x.
Adoptarea acestui mod de reprezentare s-a fcut din raiuni de construcie a
calculatoarelor. Societatea de calculatoare IEEE a fost cea care s-a preocupat i a elaborat
norme de reprezentare a numerelor n virgul flotant (mobil). Practic toate firmele care
fabric astzi calculatoare i-au nsuit aceste norme i le-au implementat. Aceste moduri de
reprezentare sunt redate n figura 7.
La reprezentarea n simpl precizie caracteristica este calculat potrivit relaiei:
C = e +127,
indicnd practic, semnul exponentului astfel:
-
e + 127
30
8 bii
23 bii
23 22
IEEE dubl precizie
s
63
e + 1023
62
52 51
11 bii
EXEMPLE:
1) S se reprezinte n virgul mobil simpl precizie numerele:
a) 26 = 11010(2) = 1,101 24
Mrimile care se vor reprezenta sunt:
S = 0, deoarece numrul este pozitiv
f = 101
C = e + 127 = 4 + 127 = 131 = 10000011(2)
31 30
23 22
0 10000011 101000 . . .
b) 0,125= -0,0012=-1,0002-3
S=1
f=0
C= -3+127 = 124 = 01111100(2)
31 30
23 22
1 01111100
000 ...
63 62
17
52 51
0 10000000101 111100000100. . .
se compar cei doi exponeni pentru a-l determina pe cel mai mare;
p
0
0
1
1
q
0
1
0
1
pq
0
1
1
1
18
p
0
0
1
1
pq
0
0
0
1
q
0
1
0
1
p
0
1
1
0
n continuare vor fi prezentate principalele proprieti ale acestor operaii. Ele pot fi
demonstrate uor folosind tabelul de adevr.
Urmtoarele 10 grupuri de proprieti sunt adevrate:
a b c a b c ; a b c a b c
(asociativitatea)
a b c a b a c a b c a b a c
(distributivitatea)
a a a aa a
(idempotena)
a b b a, a b b a
(comutativitatea)
a a b a, a a b a
(absorbia)
aa
(dubla negaie)
a b
a b
a b
Legile lui
a b
De Morgan
a 0 0, a 1 a
a 0 a, a 1 1
a a 0, a a 1
Operaia binar notat se numete suma modulo 2 sau sau exclusiv i este definit
n tabelul urmtor:
a
0
0
1
1
b
0
1
0
1
0
1
1
0
ab
(ab)
aVb
aVb
(aVb)
ab
19