Documente Academic
Documente Profesional
Documente Cultură
Bazele Numerice Ale Calculatoarelor PDF
Bazele Numerice Ale Calculatoarelor PDF
BAZELE NUMERICE
ALE CALCULATOARELOR
Exemplul 1
Rezolvare.
a. Conversia n binar
(248)10=(11111000)2
b. Conversia n octal
(248)10=(370)8
c. Conversia n hexazecimal
(248)10=(F8)H
Bazele numerice ale calculatoarelor
Aadar, (248)10=(11111000)2=(370)8=(F8)H
Exemplul 2.
Pentru a face conversia din baza 2 n baza 8 sau 16 se poate porni de
la reprezentarea n baza 2 a numrului i deoarece 8=23 iar 16=24, se pot
face grupri de 3 respectiv 4 cifre binare pentru a obine reprezentarea n
aceste baze. n cazul numerelor ntregi gruparea se face ncepnd de la
CCMPS (de la dreapta la stnga numrului).
(248)10=( 11 111 000 )2=(370)8
Exemplul 3.
Pentru a face conversia din baza 8 n baza 2 vom nlocui fiecare
cifr a numrului scris n baza 8 cu un grup de 3 cifre binare, conform
tabelului 4.2.
Tabelul 4.2
Cifra din baza 8 Grupul de cifre n baza 2
0 000
1 001
2 010
3 011
4 100
5 101
6 110
7 111
Folosind datele din tabelul anterior, numrul (734)8 = (111 011 100)2
prin conversie direct.
Exemplul 4.
Pentru a face conversia din baza 16 n baza 2 vom nlocui fiecare
cifr a numrului scris n hexazecimal cu un grup de 4 cifre binare, conform
tabelului 4.3.
unde: a-1 reprezint cifra cea mai semnificativ a prii fracionare. Teoretic,
algoritmul ar trebui s se ncheie cnd partea fracionar devine egal
cu zero, ceea ce se ntmpl ntr-un numr limitat de cazuri.
n practic, procedeul are un numr finit de pai, n funcie de
precizia aleas. De exemplu, pentru a obine o precizie bun, pentru fiecare
cifr zecimal trebuie calculate 4 cifre binare (n cazul conversiei din
zecimal n binar).
Exemplul 5
Fiind dat numrul (0,251)10 s se realizeze conversia n sistemele:
binar, octal i hexazecimal.
Rezolvare.
a. Conversia n octal
(0,251)10=(0,20040)8
b. Conversia n hexazecimal
(0,251)10=(0,404)H
Bazele numerice ale calculatoarelor
c. Conversia n binar
0,2512=0 + 0,502 0 (a -1)
0,5022=1 + 0,004 1 (a -2)
0,0042=0 + 0,008 0 (a -3)
0,0082=0 + 0,016 0 (a -4)
0,0162=0 + 0,032 0 (a -5)
0,0322=0 + 0,064 0 (a -6)
0,0642=0 + 0,128 0 (a -7)
0,1282=0 + 0,256 0 (a -8)
0,2562=0 + 0,512 0 (a -9)
0,5122=1 + 0,024 1 (a-10)
0,0242=0 + 0,048 0 (a-11)
0,0482=0 + 0,096 0 (a-12)
0,0962=0 + 0,192 0 (a-13)
0,1922=0 + 0,382 0 (a-14)
0,3822=0 + 0,762 0 (a-15)
0,7622=1 + 0,524 1 (a-16)
0,5242=1 + 0,048 1 (a-17)
(0,251)10=(0,01000000010000011)2
Exemplul 6
Rezolvare.
Exemplul 7.
S se fac conversia din binar n zecimal a numrului (1100011)2.
Exemplul 8.
Conversia din binar n zecimal a numrului (110,101)2
Exemplul 9.
Conversia din octal n zecimal a numrului (235)8.
Exemplul 10.
Conversia din hexazecimal n zecimal a numrului (23F)H.
0 dac N 0
an =
1 dac N p 0
Exemplu.
S se reprezinte n cod direct (pe 16 bii) numrul (27)10, respectiv
numrul -(27)10.
Rezolvare.
CD
(27 )10 = (11011 )2 - -- f (27 )10 = (0000000000011011) 2
b semn
CD
- (27 )10 = (1000000000011011) 2
n-1
0 2 + ai 2i
n dac N 0
CI
i=- m
N=
n-1
1 2 + ai 2
n i
dac N p 0
i=- m
Observaie.
Reprezentarea prin complement fa de 1 se obine astfel:
1. Fie calculnd:
CI
N = 2 n+ 1 -| N |CD - 2- m
Exemplu.
S se reprezinte n cod invers numerele (14)10 i -(14)10
(reprezentarea pe un octet).
Rezolvare.
* Numerele pozitive se reprezint n CI la fel ca i n CD.
CD, CI
(14 )10 = (1110 ) 2 (14 )10 = ( 0000 1110 )
semn
CI 7
N = 28 - ai 2i - 20
i=0
ai ( i = 1,6 ) reprezint cifrele binare ale numrului (14)10, iar a7="0" este
cifra de semn. Calculnd:
1 0000 0000 -
0000 1110
CI
Aadar:
- (14) = (1111 0001 )2
1111 0010 -
1 semn
1111 0001
Bazele numerice ale calculatoarelor
CD
(14 )10 = (0000 1110 ) 2
CI
- (14 )10 = (1111 0001 ) 2
n-1
0 2n + ai 2i pentru N 0
CC
i= m
N =
n-1
12 + a i 2 pentru N p 0
n ~ i
i= m
unde:
n-1 n-1
~a 2i =
i ai 2i + 2-m
i= m i= m
1. Fie calculnd:
CC
N = 2n +1 - | N|CD
ca la reprezentarea n CI;
2. Fie adunnd un 1 la CCMPS a reprezentrii numrului n CI;
3. Dac se consider reprezentarea n CD a numrului n valoare
absolut, pentru obinerea codului complementar, ncepnd de la CCMPS -
se las neschimbate toate cifrele de zero, inclusiv prima cifr binar a crei
valoare este 1; apoi toate celelalte cifre binare se vor inversa, inclusiv cifra
de semn.
Exemplu.
S se reprezinte n CC numerele 14 i -14 (pe un octet).
Rezolvare.
CD,CI,CC
14 = (0000 1110 )2
semn
1.
CC 7
- (14 )10 = 28 - a i 2i ai (i=16) fiind cifrele binare ale
i=0 numrului zecimal 14, iar a7 = 0 cifra de
semn.
1 0000 0000 - CC
0000 1110 - (14 )10 = (1111 0010 )2
1111 0010
Bazele numerice ale calculatoarelor
2.
CI
- (14) = (1111 0001 )2
1
CC
- (14) = (1111 0010 )2
3.
Cifre binare nemodificate
CD
14 = ( 000011 10)2
CC
14 = (11110010) 2
Observaie.
n calculatoarele IBM-PC reprezentarea n virgul fix se face pentru
numerele ntregi. Se utilizeaz formatele:
formatul scurt:
formatul lung:
0 dac N 0
unde S este bitul de semn i S =
1 dac N < 0
Tabelul 4.4
0 dac N 0
S=
1 dac N < 0
1
(f ) b < 1
b
N=2E (f)2
dubl precizie:
Dac zona exponent este egal cu zero, numrul zecimal este egal cu
zero. Dac zona exponent este diferit de zero, atunci numrul zecimal va fi
determinat astfel:
< N >=< S > ( 0.1 < fractie > )2 * 2< EXP> (80)h
unde:
S - bit de semn (S=0 dac N0 i S=1 dac N<0);
fi - cifrele binare ale zonei exponent (EXCES=127 sau 1023);
unde:
S - bit de semn;
I0 - bitul prii ntregii, ce se memoreaz n formatul temporar,
implicit n formatul scurt i lung;
fi - cifrele binare ale fraciei;
Ei - cifrele binare ale zonei exponent,
EXP = E + 16383 [(3FFF)H]
Dac exponentul este egal cu zero, atunci numrul este egal cu zero.
Dac exponentul nu este egal cu zero, numrul zecimal se va calcula dup
relaia:
<N>=<S>*(1.<fracie>)2*2<EXP>-EXCES
Exemplu.
S se reprezinte n virgul mobil (n format binar ct i n format
real) simpl precizie numerele: N1 = 1 i N2 = -1.
Rezolvare.
N1 = 120 ; N2 = -120
a) Format binar
VM
N1 = (8100 0000 ) H
Bazele numerice ale calculatoarelor
VM
N2 = (8180 0000 ) H
b) Format real
N1=(3F800000)H
N2=(BF800000)H
Exemplu
Fie N1 = (8561 0000)H - reprezentarea n virgul mobil simpl
precizie format binar. S se determine numrul din zecimal.
Rezolvare.
N1=25(0,1110000100...0)2=25x(2-1+2-2+2-3+2-8) = 24+23+22+2-3=28,125
Exemplu.
S se reprezinte n zecimal codificat binar (n BCD) numerele
zecimale N1=9450 i N2=78431.
Rezolvare.
N1=(1001 0100 0101 0000)2 - format mpachetat
N2=(0111 1000 0100 0011 0001)2 - format mpachetat
N1=(F9F4F5F0)H - format despachetat
N2=(F7F8F4F3F1)H - format despachetat
Pentru reprezentarea numerelor nu s-a impus o anumit lungime a
secvenelor i nu s-a inut cont de semnul numrului.
Pentru calculatoarele compatibile IBM-PC coprocesorul matematic
memoreaz numerele ntregi zecimale pe zece octei - n format mpachetat.
n acest caz macheta de reprezentare este:
unde:
S - bit de semn ( 0 pentru numere pozitive, 1 pentru numere negative);
Di - cifr zecimal (dou cifre per octet);
X - bii nefolosii.
Numerele negative se deosebesc de cele pozitive prin bitul de semn.
+ 0 1
0 0 1
*
1 1 10
*
1 se transport la rangul urmtor
Sisteme de calcul i operare
Exemplu.
S se nsumeze n binar (00010101)2 cu (10010111)2. Vom avea:
(00010101)2 + (21)10 +
(10010111)2 (151)10
(10101100)2 (172)10
Desczut
- 0 1
Scztor 0 0 1
*
1 1 0
*
Rezultat datorit mprumutului din rangul superior
Exemplu.
S se scad n binar:
(11011)2 - (27)10
(01111)2 (15)10
(01100)2 (12)10
0 1
0 0 0
1 0 1
Exemplu.
S se efectueze nmulirea: (1101)2 x (1001)2.
11012
10012
11012
00002
00002
11012
11101012
(13)10 x (9)10=(117)10
Sisteme de calcul i operare
Exemplu.
S se efectueze mprirea: (1010001)2:(1001)2=(1001)2.
Exemplu.
S se efectueze mprirea: (100011)2 : (110)2= (101,110)2.
Tabelul 4.5
+ 0 1 2 3 4 5 6 7 8 9 A B C D E F
0 0 1 2 3 4 5 6 7 8 9 a B C D E F
1 1 2 3 4 5 6 7 8 9 A B C D E F 1
2 2 3 4 5 6 7 8 9 A B C D E F 10 1
3 3 4 5 6 7 8 9 A B C D E F 10 11 1
4 4 5 6 7 8 9 A B C D E F 10 11 12 1
5 5 6 7 8 9 A B C D E F 10 11 12 13 1
6 6 7 8 9 A B C D E F 10 11 12 13 14 1
7 7 8 9 A B C D E F 10 11 12 13 14 15 1
8 8 9 A B C D E F 10 11 12 13 14 15 16 1
9 9 A B C D E F 10 11 12 13 14 15 16 17 1
A A B C D E F 10 11 12 13 14 15 16 17 18 1
B B C D E F 10 11 12 13 14 15 16 17 18 19 1
C C D E F 10 11 12 13 14 15 16 17 18 19 1 1
D D E F 10 11 12 13 14 15 16 17 18 19 1 1 1
E E F 10 11 12 13 14 15 16 17 18 19 1 1 1 1
F F 10 11 12 13 14 15 16 17 18 19 1 1 1 1 1
Sisteme de calcul i operare
Tabelul 4.6
* 0 1 2 3 4 5 6 7 8 9 A B C D E F
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 1 2 3 4 5 6 7 8 9 A B C D E F
2 0 2 4 6 8 A C E 10 12 14 16 18 1A 1C 1E
3 0 1 6 9 C F 12 15 18 1B 1E 21 24 27 2A 2D
4 0 4 8 C 10 14 18 1C 20 24 28 2C 30 34 38 3C
5 0 5 A F 14 19 1E 23 28 2D 32 37 3C 41 46 4B
6 0 6 C 12 18 1E 24 2A 30 36 3C 42 48 4E 54 5A
7 0 7 E 15 1C 23 2A 31 38 3F 46 4D 54 5B 62 69
8 0 8 10 18 20 28 30 38 40 48 50 58 60 68 70 78
9 0 9 12 1B 24 2D 36 3F 48 51 5A 63 6C 75 7E 87
A 0 A 14 1E 28 32 3C 46 50 5A 64 6E 78 82 8C 96
B 0 B 16 21 2C 37 42 4D 58 63 6E 79 84 8F 9A A5
C 0 C 18 24 30 3C 48 54 60 6C 78 84 90 9C A8 B4
D 0 D 1A 27 34 41 4E 5B 68 75 82 8F 9C A9 B6 C3
E 0 E 1C 2A 38 46 54 62 70 7E 8C 9A A8 B6 C4 D2
F 0 F 1E 2D 3C 4B 5A 69 78 87 96 A5 B4 C3 D2 E1
Bazele numerice ale calculatoarelor
Tabelul 4.7
+ 0 1 2 3 4 5 6 7
0 0 1 2 3 4 5 6 7
1 1 2 3 4 5 6 7 10
2 2 3 4 5 6 7 10 11
3 3 4 5 6 7 10 11 12
4 4 5 6 7 10 11 12 13
5 5 6 7 10 11 12 13 14
6 6 7 10 11 12 13 14 15
7 7 10 11 12 13 14 15 16
Tabelul 4.8
* 0 1 2 3 4 5 6 7
0 0 0 0 0 0 0 0 0
1 0 1 2 3 4 5 6 7
2 0 2 4 6 10 12 14 16
3 0 3 6 11 14 17 22 25
4 0 4 10 14 20 24 30 34
5 0 5 12 17 24 31 36 43
6 0 6 14 22 30 36 44 52
7 0 7 16 23 34 45 52 61
Sisteme de calcul i operare
CD n-1
N2 = bn 2n + bi2i bi {0,1}
i= m
CD n -1
N1 + N 2 = a n 2 +
n
(a + b + t ) 2
i = m
i i i
i
Exemplu
S se nsumeze N1 cu N2, avnd N1=(40)10 i N2=(60)10.
Rezolvare.
CD
N1 = (00101000 )2
CD
N2 = (00111100 )2
CD
N1 + N 2 = (01100100 )2
N 1 +N 2 =+(1 2 6 +1 2 5 +0 2 4 +0 2 3 +1 2 2 +0 2 1 +0 2 0 )=(100) 10
Exemplu
S se calculeze N1 + N2, avnd N1=40 i N2=90.
Rezolvare.
CD
N1 = (00101000 )2
CD
N2 = (01011010 )2
CD
N1 + N 2 = (10000010 )2
Exemplu
S se calculeze N1+N2, avnd N1= -25 i N2= -30.
Rezolvare.
CD
N1 = (1 0011001 )2
CD
N2 = (1 0011110 )2
CD
N1 + N 2 = (1 0110111 )2
Verificnd:
N 1 +N 2 = -(0 2 6 +1 2 5 +1 2 4 +0 2 3 +1 2 2 +1 2 1 +1 2 0 )
N 1 +N 2 = -55, rezultat corect
Exemplu
S se calculeze N1+N2, avnd N1= -75 i N2= -80
Rezolvare.
CD
N1 = (11001011 )2
CD
N2 = (11010000 )2
CD
N1 + N 2 = (10011011 )2
CI
N2 = 2 -| N
8
|
2 CD -2 0
CI
N1 + N 2 = 28 + 28 -| N 2 |CD -| N 2 |CD - 2 0 - 2 0
CI
N1 + N 2 = 28 -(| N1|CD +| N 2 |CD ) - 2 0
apare necesar ca transportul de la cifra de semn s fie adunat la cifra cea mai
puin semnificativ,
Sisteme de calcul i operare
CI
Bitul CMPS
N1 + N 2 = 28 - (| N1|CD +| N 2 |CD ) - 20 + 28 - 20
Exemplu.
S se calculeze N1+N2, avnd: N1= -30 i N2= -14.
Rezolvare
CI
N1 = ( 1110 0001 )2
CI
N 2 = ( 1111 0001 )2
CI
N1 + N 2 = (1 1101 0010 )2 +
1
CI
N1 + N 2 = (1101 0011 )2
CD
N1 + N 2 = (1010 1100 )2
Exemplu.
S se calculeze N1+N2, avnd N1= -81 i N2= -72
Rezolvare.
CI
N1 = ( 1010 1110 )2
CI
N 2 = ( 1011 0110 )2
CI
N1 + N 2 = (1 0110 0100 )2 +
1
CI
N1 + N 2 = (0110 0101 )2 N1 + N 2 > 0
Rezultatul este eronat, deoarece cel mai mic numr ntreg ce se poate
reprezenta n cod invers pe un octet este -127.
CI
N 2 = 28 -| N 2 |CD - 2 0
CI
N1 + N 2 = 28 -(| N 2 |CD -| N1|CD ) - 2 0
Exemplu.
S se calculeze N1 + N2, avnd N1=91 i N2=-20.
Rezolvare.
CI
N1 = ( 0101 1011 )2
CI
N 2 = ( 1110 1011 )2
CI
N1 + N 2 = (1 0100 0110 )2 +
1
CI
N1 + N 2 = (0100 0111 )2 rezultat corect
Exemplu.
S se calculeze N1+N2, avnd N1= -91 i N2= 20.
Rezolvare.
CI CI
N1= ( 1010 0100 ) 2 N 2 = ( 0001 0100 ) 2
CI CD
N1 + N 2 = (1011 1000 ) 2 N1 + N 2 = (1100 0111 ) 2
CC CC
N1 = 28 -| N1|CD N 2 = 28 -| N 2 |CD
CC
N1 + N 2 = 28 -(| N1|CD +| N 2 |CD ) + 28
Exemplu.
Rezolvare.
CC CC
N1 = ( 1111 0010 )2 N 2 = ( 1011 1000 )2
CC
N1 + N 2 = (1 1010 1010 )2
Se ignor
CD
N1 + N 2 = (11010110 )2 = - (1 26 + 1 24 + 1 22 + 1 21) = - 86
CC
N2 = 28 -| N 2 |CD
Prin adunare avem:
CC
N1 + N 2 = 28 -(| N 2 |CD - | N1|CD )
Exemplul.
S se calculeze N1 + N2, avnd N1= 33 i N2= -23.
Rezolvare.
CC CC
N1 = ( 0010 0001 )2 N 2 = ( 1110 1001 )2
CC
N1 + N 2 = (1 0000 1010 )2
Verificarea: N 1 +N 2 = 1 2 3 +1 2 1 =(10) 1 0
Exemplu.
S se calculeze N1+N2, avnd N1 = -33 i N2 = 3
CC CC
N1 = ( 1101 1111 )2 N 2 = ( 0001 0111 )2
CC
N1 + N 2 = ( 1111 0110 )2
a) Adunarea/scderea
a1) n1=n2
N 1 +N 2 =2 n 1 (f 1 +f 2 )
Dac f1+f2 1 sau f1-f2 < 1/2 , rezultatul se va normaliza, prin
deplasarea cu o poziie spre stnga sau dreapta virgulei, concomitent cu
adunarea sau scderea unei uniti din zona exponent.
b) nmulirea i mprirea
N1 = 2n1 ( f 1 )2 N 2 = 2n 2 ( f 2 )2
N1 * N 2 = 2n1+n 2 x ( f 1 x f 2 )2 iar
N1 / N 2 = 2n1-n 2 x ( f 1 / f 2 )2
Exemplu.
S se adune n codul numeric 8421 numerele N=883 i M= 592.
Exemplu
S se scad, n codul 8421, din numrul N= 1032, numrul M = 974.