Documente Academic
Documente Profesional
Documente Cultură
0 ai b-1 (i m, n ) ;
nu există un rang k astfel încât să avem:
ak = ak-1 = ak-2 = … = b-1
există egalitatea:
R = anbn + an-1bn-1 + ….a0b0 + a-1b-1 +….+ a-mb-m
În situaţia în care succesiunea de cifre are proprietăţile enumerate prin definiţie se
scrie:
R = anan-1….a0, a-1a-2 …. a-m
an este cifra cea mai semnificativă (CCMS) a numărului R, iar a-m este cifra cea mai
puţin semnificativă (CCMPS).
(NI2)b
…
…
(NI(k+1))b
…
…
(NI(n-1)b/q= an + an-1/q an-1
(NIn)b
(NIn)b/q= 0 + an/q an
Algoritmul se încheie când partea întreagă a câtului devine nulă. an - reprezintă
cifra cea mai semnificativă iar a0 - cifra cea mai puţin semnificativă.
Conversia în octal
248/8=31 + 0/8 0 (a0)
31/8= 3 + 7/8 7 (a1)
3/8= 0 + 3/8 3 (a2)
(248)10=(370)8
Conversia în hexazecimal
248/16=15 + 8/16 8 (a0)
15/16= 0 + 15/16 F (a1)
(248)10=(F8)H
Calculul simplificat pentru conversia în:
binar octal hexazecimal
248 0 248 0 248 8
124 0 31 7 15 15
62 0 3 3 0
31 1 0
15 1
7 1
3 1
1 1
0
Aşadar (248)10=(11111000)2=(370)8=(F8)H
Conversie rapidă. În cazurile în care între cele două baze de numeraţie (implicate
p
în conversie) există o relaţie de genul: b1=b2 (b1 şi b2 sunt cele două baze, p este un
număr natural mai mare sau egal cu 2) atunci conversia se poate realiza mai rapid.
Pentru a face conversia din baza b2 (b2 < b1) în baza b1, se împarte numărul
reprezentat în b1 în grupe de câte p cifre, de la dreapta la stânga pentru partea
Bazele numerice ale calculatoarelor 79
Exemplul 3. Pentru a face conversia din baza 8 în baza 2 vom înlocui fiecare
cifră a numărului scris în baza 8 cu un grup de 3 cifre binare, conform tabelului 3.2.
Exemplul 4. Pentru a face conversia din baza 16 în baza 2 vom înlocui fiecare
cifră a numărului scris în hexazecimal cu un grup de 4 cifre binare, conform tabelului
3.3.
0 0000 8 1000
1 0001 9 1001
2 0010 A 1010
3 0011 B 1011
4 0100 C 1100
5 0101 D 1101
6 0110 E 1110
7 0111 F 1111
Folosind datele din tabelul anterior, numărul (5A2)16 = (0101 1010 0010)2 prin
conversie directă.
(NF1)b
(NF2)b
a-1 reprezintă cifra cea mai semnificativă a părţii fracţionare. Teoretic, algoritmul ar
trebui să se încheie când partea fracţionară devine egală cu zero, ceea ce se întâmplă
într-un număr limitat de cazuri. În practică, procedeul are un număr finit de paşi, în
funcţie de precizia aleasă.
Rezolvarea
a. 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)
Bazele numerice ale calculatoarelor 81
0 064
0 128
0 256
0 512
1 024
Astfel (0,251)10 = (0, 010 000 000 100 000 110)2 = (0, 200406)8
2 0 1 20
1 1 0 40
0 0 80
1 60
1 20
0 40
0 dacă N 0
an =
1 dacă N 0
an este bit de semn, iar ai {0,1}
pentru i m, (n 1) şi au fost obţinute în urma conversiei numărului (N) în
sistemul de numeraţie binar. Macheta de reprezentare a numărului N este:
84 Bazele tehnologiei informaţiei
Observaţie. S-a considerat că partea întreagă se reprezintă prin n cifre binare, iar
partea fracţionară prin m cifre binare:
dacă n = 0 se obţine reprezentarea numerelor subunitare;
dacă m = 0 se obţine reprezentarea numerelor întregi.
semn
CD
- (27 )10 = (1000000000011011) 2
CI
b1. Fie calculând: N = 2n+ 1 -| N |CD - 2- m
b2. Fie prin inversarea cifrelor binare (inclusiv cifra de semn) din reprezentarea în
cod direct a numărului în valoare absolută.
Rezolvarea
Numerele pozitive se reprezintă în CI la fel ca şi în CD.
CD, CI
(14 )10 = (1110 ) 2 (14 )10 = (0000 1110 ) 2
semn
CI 7 b1.
N 28 - ai 2i - 20
i=0
ai ( i 1,6 ) reprezintă cifrele binare ale numărului (14)10, iar a7="0" este cifra de
semn. Calculând:
1 0000 0000 -
CI
0000 1110
- (14) = (1111 0001 )2
Aşadar:
1111 0010 -
1 semn
1111 0001
CD
(14 )10 = (0000 1110 ) 2
CI
- (14 )10 = (1111 0001 ) 2
c. Reprezentarea
prin complement faţă de 2 (cod complementar - CC)
Forma de scriere este:
n-1
CC
0 2
n
+
i= m
a i2i dacă N 0
N = n-1
12 n +
~ i
a i2 dacă N 0
i= m
unde:
n-1 n-1
~
a i 2i = ai 2i + 2-m
i= m i= m
Rezolvarea
Bazele numerice ale calculatoarelor 87
CD,CI,CC
14 = (0000 1110 )2
semn
Pentru a calcula CC al numărului -14 vom folosi cele trei metode.
c1.
CC 7
- (14 )10 = 28 - a i 2i ai (i=16) fiind cifrele binare ale numărului
zecimal 14, iar a7 = 0 cifra de semn.
i=0
1 0000 0000 -
CC
0000 1110
1111 0010
- (14 )10 = (1111 0010 )2
c2.
CI
- (14) = (1111 0001 )2
1
CC
- (14) = (1111 0010 )2
c3.
Cifre binare nemodificate
CD
14 ( 000011 10)2
Gruparea a trei cifre binare (respectiv patru cifre binare) se face începând de la
CCMPS (pentru numerele întregi).
formatul scurt:
formatul lung:
unde:
0 dacă N 0
S este bitul de semn şi S =
1 dacă N 0
Ii (i=014|30|62) sunt cifrele reprezentării binare ale numărului. Dacă
N<0 se utilizează reprezentarea prin complement faţă de 2 (CC).
În tabelul 3.4 sunt prezentate formatul, precizia şi domeniul de valori ale datelor
reprezentate în virgulă fixă pentru procesoarele Intel.
Bazele numerice ale calculatoarelor 89
Tabelul 3.4. Lungimea, precizia şi domeniul de valori ale datelor reprezentate în virgulă
fixă în microprocesoarele Intel
Există o serie largă de aplicaţii ce necesită numere care nu sunt întregi. Există, de
asemenea, mai multe modalităţi de reprezentare a numerelor reale fracţionare.
Una dintre modalităţi este virgula fixă, în care folosim aritmetica numerelor întregi şi
ne imaginăm virgula undeva în altă parte decât la dreapta bitului CMPS. Adunarea a
două numere astfel reprezentate poate fi făcută în acelaşi mod ca şi o adunare
întreagă, în timp ce înmulţirea necesită o deplasare de biţi.
De-a lungul anilor au fost propuse şi alte reprezentări ce utilizau fie stocarea
logaritmului numerelor şi executarea unei înmulţiri prin adunarea logaritmilor, fie
foloseau o pereche de întregi (a,b) pentru reprezentarea fracţiei a/b. Dintre toate
aceste propuneri, una singură a avut succes pe scară largă: reprezentarea în virgulă
mobilă, prezentată în continuare.
dublă precizie:
unde:
S este bit de semn (S=0 dacă N0 şi S=1 dacă N<0);
fn - cifrele binare ale fracţiei normalizate;
Ei - cifrele binare ale zonei de exponent;
EXP=E + (81)H.
Dacă zona exponent este egală cu zero, numărul zecimal este egal cu zero. Dacă
zona exponent este diferită de zero, atunci numărul zecimal va fi determinat astfel:
< N >=< S > ( 0.1 < frac ţ ie > ) 2 * 2< EXP > (80)h
II. Formatul real sau formatul IEEE (Institute of Electrical and Electronics
Engineers) 754 - lansat în anul 1985
simplă precizie (format scurt), având macheta:
Bazele numerice ale calculatoarelor 91
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);
EXP = E + 127 [(7F)H] - pentru format scurt;
EXP = E + 1023 [(3FF)H] - pentru format lung.
unde:
S - bit de semn;
I0 - bitul părţii întregii, ce se memorează în formatul temporar, implicit
în formatul scurt şi lung;
fi - cifrele binare ale fracţiei;
Ei - cifrele binare ale zonei exponent, EXP = E + 16383 [(3FFF)H]
Dacă exponentul este egal cu zero, atunci numărul este egal cu zero. Dacă
exponentul nu este egal cu zero, numărul zecimal se va calcula după relaţia:
<N> = <S>*(1.<fracţie>)2*2<EXP>-EXCES
Exemplul 14. Să se reprezinte în virgulă mobilă (în format binar cât şi în format
real) simplă precizie numerele: N1=1 şi N2=-1.
Rezolvarea
N1=120 ; N2= -120
a) Format binar
VM
N1 = (8100 0000 ) H
92 Bazele tehnologiei informaţiei
VM
N2 = (8180 0000 ) H
b) Format real
N1=(3F800000)H
N2=(BF800000)H
Rezolvarea
N1=25(0,1110000100...0)2=25x(2-1+2-2+2-3+2-8)=24+23+22+2-3=28,125
Atunci cand exponentul modificat este 0, numerele mai mici pot fi reprezentate
făcând bitul părţii întregi zero.Numerele din acest domeniu se numesc numere
denormalizate. Acest lucru duce la scăderea preciziei (numărul de biţi semnificativi
ai fracţiei este redus datorită apariţiei zerourilor de la început).
În momentul normalizării calculelor în virgulă mobilă, unitatea în virgulă
mobilă operează cu numere normalizate şi produce rezultate normalizate. Numerele
denormalizate reprezintă o condiţie de excepţie denumită underflow. Un număr
denormalizat este calculat prin intermediul unei tehnici denumită gradual
underflow. În figura 3.1 este prezentat un exemplu al procesului de denormalizare,
iar în figura 3.2 sunt înfăţişate reprezentările valorilor +0, -0 şi a numerelor
normalizate şi denormalizate finite.
şi denormalizate finite
Rezolvarea
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 secvenţelor şi
nu s-a ţinut cont de semnul numărului.
Pentru calculatoarele PC-IBM coprocesorul matematic memorează numerele
întregi zecimale pe zece octeţi - în format împachetat. În acest caz macheta de
reprezentare este:
unde:
S - bit de semn ( 0 - număr pozitiv, 1 - număr negativ);
Di - cifră zecimală (două cifre/octet);
96 Bazele tehnologiei informaţiei
X - biţi nefolosiţi.
Numerele negative se deosebesc de cele pozitive prin bitul de semn.
(00010101)2 + (21)10 +
(10010111)2 (151)10
(10101100)2 (172)10
(11011)2 - (27)10
(01111)2 (15)10
(01100)2 (12)10
(1101)2
(0000)2
(0000)2
(1101)2
(1110101)2
Deci (1101)2 x (1001)2 = (1110101)2 [(13)10 x (9)10=(117)10]
Cea mai simplă metodă este scăderea repetată a împărţitorului din deîmpărţit.
+ 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
* 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
Bazele numerice ale calculatoarelor 99
+ 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 10
2 2 3 4 5 6 7 8 9 A B C D E F 10 11
3 3 4 5 6 7 8 9 A B C D E F 10 11 12
4 4 5 6 7 8 9 A B C D E F 10 11 12 13
5 5 6 7 8 9 A B C D E F 10 11 12 13 14
6 6 7 8 9 A B C D E F 10 11 12 13 14 15
7 7 8 9 A B C D E F 10 11 12 13 14 15 16
8 8 9 A B C D E F 10 11 12 13 14 15 16 17
9 9 A B C D E F 10 11 12 13 14 15 16 17 18
A A B C D E F 10 11 12 13 14 15 16 17 18 19
B B C D E F 10 11 12 13 14 15 16 17 18 19 1A
C C D E F 10 11 12 13 14 15 16 17 18 19 1A 1B
D D E F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C
E E F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D
F F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E
100 Bazele tehnologiei informaţiei
* 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
CD n-1
a n 2n + ai 2i
Însumarea se
N1 = ai {0,1} face începând de
i= m la cifra cea mai
puţin
semnificativă
CD n-1 (CCMPS) a
N2 = bn2n + bi2i bi {0,1} reprezentării
numerelor,
i= m
ţinându-se cont
CD n- 1
N1 + N 2 = an 2n + ( ai + bi + t i ) 2i
i = m
de transportul de la rangul anterior (ti).
Se consideră t-m=0, iar dacă va apare tn (transport de la cifra cea mai semnificativă
a mărimii) - este depăşire binară. Rezultatul operaţiei poate fi corect când nu apare
transport de la cifra cea mai semnificativă a mărimii rezultatului şi poate fi incorect
când apare transport.
Pentru simplitate vom lucra cu numere întregi reprezentate pe un octet, primul bit
fiind bit de semn iar şapte biţi pentru mărime. (-127 < N < 127)
Exemplul 22.
Să se însumeze N1 cu N2, având N1=(40)10 şi N2=(60)10.
Rezolvarea
CD
N1 = (00101000 )2
CD
N2 = (00111100 )2
CD
N1 + N 2 = (01100100 )2
N1+N2=+(126+125+024+023+122+021+020)=(100)10
Exemplul 23.
Să se calculeze N1 + N2, având N1=40 şi N2=90.
102 Bazele tehnologiei informaţiei
Rezolvarea
CD
N1 = (00101000 )2
CD
N2 = (01011010 )2
CD
N1 + N 2 = (10000010 )2
În acest caz rezultă transport de la cifra cea mai semnificativă a mărimii, rezultatul
este incorect. (Rezultatul însumării celor două numere nu poate fi reprezentat prin
cele şapte cifre binare).
Exemplul 24.
Să se calculeze N1+N2, având N1= -25 şi N2= -30.
Rezolvarea
CD
N1 = (1 0011001 )2
CD
N2 = (1 0011110 )2
CD
N1 + N 2 = (1 0110111 )2
Verificând:
N1+N2 = -(026+125+124+023+122+121+120)
N1+N2 = -55 rezultat corect
Exemplul 25.
Să se calculeze N1+N2, având N1= -75 şi N2= -80
Rezolvarea
Bazele numerice ale calculatoarelor 103
CD
N1 = (11001011 )2
CD
N2 = (11010000 )2
CD
N1 + N 2 = (10011011 )2
Prin adunarea celor două numere rezultă transport de la cifra cea mai semnificativă a
mărimii, rezultat incorect.
Dacă cele două numere au semne diferite procedura de lucru este asemănătoare celei
ce urmează, când numerele sunt reprezentate în cod invers.
a) Dacă ambele numere sunt pozitive, reprezentarea lor în cod invers este identică
reprezentării în cod direct.
b) Numerele sunt negative, fie N1 < 0 şi N2 < 0
( În continuare se va lucra cu numere întregi reprezentate pe un octet).
Vom nota prin N1CD,N2CD reprezentarea în cod direct a valorilor absolute ale
numerelor N1 şi N2.
CI
N1 = 28 - | N1 |CD - 20
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
104 Bazele tehnologiei informaţiei
Exemplul 26.
Să se calculeze N1+N2, când: N1= -30 şi N2= -14.
Rezolvarea
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
Verificând N1+N2 = -
(125+123+122) = -44 rezultat corect.
Exemplul 27.
Să se calculeze N1+N2, având N1= -81 şi N2= -72
Rezolvarea
Bazele numerice ale calculatoarelor 105
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 număr întreg ce se poate reprezenta
în cod invers pe un octet este -127.
CI
N1 + N 2 = 28 -(| N 2 |CD -| N1|CD ) - 2 0
Rezultatul este pozitiv sau negativ, după valorile absolute ale numerelor N1 şi N2.
Exemplul 28.
Să se calculeze N1 + N2, având N1 = 91 şi N2 = -20.
Rezolvarea
106 Bazele tehnologiei informaţiei
CI
N1 = ( 0101 1011 )2
CI
N 2 = ( 1110 1011 )2
CI
N1 + N 2 = (1 0100 0110 )2 +
1
CI rezultat corect
N1 + N 2 = (0100 0111 )2
Exemplul 29.
Să se calculeze N1+N2, având N1= -91 şi N2= 20.
Rezolvarea
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
Şi în acest caz rezultatul este corect. Pentru verificarea rezultatului se va ţine seama
de bitul de semn:
dacă bitul de semn este "0" rezultatul este un număr pozitiv şi
reprezentarea este aceeaşi în cod invers şi în cod direct;
dacă bitul de semn este "1" rezultatul este un număr negativ şi
reprezentarea în cod invers diferă de reprezentarea în cod direct.
Scăderea a două numere binare se rezumă la adunarea celor două numere, utilizând
reprezentarea în cod invers. Fie N1>0 şi N2>0. Relaţia N1 - N2 este echivalentă cu N1
+ (-N2).
a) Dacă ambele numere sunt pozitive, reprezentarea lor în cod complementar este
identică reprezentării în cod direct.
CC
N1 + N 2 = 28 -(| N1|CD +| N 2 |CD ) + 28
Exemplul 30.
Să se calculeze: N1+N2, având N1 = -14 şi N2 = -72.
Rezolvarea
CC CC
N1 = ( 1111 0010 )2 N 2 = ( 1011 1000 )2
CC
N1 + N 2 = (1 1010 1010 )2
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 )
Dacă N1 > N2 rezultatul va fi pozitiv, iar pentru N1 < N2
rezultatul va fi negativ.
Exemplul 31.
Să se calculeze N1 + N2, având N1= 33 şi N2= -23.
Rezolvarea
CC CC
N1 = ( 0010 0001 )2 N 2 = ( 1110 1001 )2
CC
N1 + N 2 = (1 0000 1010 )2
Exemplul 32.
Să se calculeze N1+N2, având N1 = -33 şi N2 = 3.
Rezolvarea
Bazele numerice ale calculatoarelor 109
CC CC
N1 = ( 1101 1111 )2 N 2 = ( 0001 0111 )2
CC
N1 + N 2 = ( 1111 0110 )2
CD
N1 + N 2 = (10001010 )2 N1 + N2 = - (10 )10
3.6. Operaţii
aritmetice în virgulă mobilă (VM)
a) Adunarea/scăderea
Fie N1>0 şi N2>0, ce se pot scrie:
a1) n1=n2
N1+N2=2n1(f1+f2)
Dacă f1+f2 1 sau f1-f2<1/2, rezultatul se va normaliza prin deplasarea cu o
poziţie spre stânga/ sau dreapta a virgulei, concomitent cu adunarea/ sau scăderea
unei unităţi din zona exponent.
a2) n1n2, n1 > n2 . Pentru a aduna/scădea cele două numere, trebuie să aibă
acelaşi exponent. Deoarece n1 > n2, putem scrie:
110 Bazele tehnologiei informaţiei
b) Înmulţirea, împărţirea
Operaţiile de înmulţire/împărţire asupra zonelor de fracţie se realizează prin
însumări (scăderi) repetate. Fracţia rezultat, dacă nu este normalizată se va
normaliza.
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
Adunarea numerelor în zecimal codificat binar (8421) se face binar, rang cu rang
pe fiecare grup de patru cifre binare, cu adăugarea, eventual, a unor corecţii.
Fie a şi b două cifre zecimale codificate binar (în 8421) care se adună; rezultatul
c = a + b poate fi:
corect - nu este necesar să se aplice nici o corecţie dacă: 0000 c 1001;
incorect şi se impune corecţia, adunând 0110 în situaţiile:
1010 c 1111 - această reprezentare nu corespunde unei cifre în
zecimal, adunând 0110 va determina transport la rangul următor;
0000 c 1001 dar a rezultat a cincea cifră binară, aceasta fiind 1 şi
reprezintă transportul pentru tetrada binară superioară.
ccorectat = c + 0110
Exemplul 33.
Să se adune în codul numeric 8421 numerele N=883 şi M= 592.
Bazele numerice ale calculatoarelor 111
3.7.2. Scăderea
Rezolvarea
Tranformând din BCD în zecimal şi apoi realizând conversia în sistemul de
numeraţie binar obţinem:
a = (53,625)10 = (110101,101)2
b = (7,3)10 = (111,010011001)2
Problema 2.
Să se calculeze în virgula fixă: a+b+c; -a+b; a-b ştiind că a = 53, b = 20, c =
90.
Rezolvarea
Bazele numerice ale calculatoarelor 113
Facem conversia celor trei numere din sistemul de numeraţie zecimal în binar şi
le reprezentăm în virgula fixă pe un octet luând în considerare şi valorile negative:
Reprezentarea pe 16 biţi
a 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 1
c 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0
c 0 0 0 0 0 0 0 0 0 1 0 1 1 0 1 0
a+b+c 0 0 0 0 0 0 0 0 1 0 1 0 0 0 1 1
Problema 3.
Să se determine valoarea zecimală a numărului A=(C2D0F800)H ştiind că
acesta este reprezentat în virgulă mobilă simplă precizie.
Rezolvarea
A=(C2D0F8)H=(110000101101000011111000)2
S Exponent Fracţie
1 10000101 10100001111100000000000
3. Fiind date numerele în sistemul octal: (42)8, (77)8, (36.2)8, (311.08)2, (417.24)8
să se facă conversiunea lor în binar, zecimal şi hexazecimal.
7. Ştiind că:
a) N1CD = N2CI = N3CC = (7051 A4D2)H
b) N1CD = N2CI = N3CC = (8FFD 5426)H
să se calculeze valorile zecimale ale numerelor N1, N2, N3.