Documente Academic
Documente Profesional
Documente Cultură
1.
N d n 1 r n 1 d n 2 r n 2 ... d 0 r 0 d i r i
i 0
N bi 2 i bn 1 2 n 1 ... b1 21 b0
i 0
In partea dreapt avem un polinom de puteri ale lui 2. Coeficientul bi este 0 sau 1. Din
expresia de mai sus a numrului se observ c cifrele b0 , b1 , etc., se pot obine ca
resturile impririlor repetate ale numrului N cu 2. Vom nota cu q0 , q1 , ..., cturile
mpririlor repetate la 2 i cu r0 , r1 , ..., resturile mpririlor repetare la 2 ale
numrului N. Algoritmul de conversie a unui numr din baza 10 n baza 2 este
urmtorul:
1. q 0 N
2. i 0
3. while ( qi 0 )
{
q
qi 1 i
2
ri qi %2
i i 1
}
Resturile ri obinute sunt cifrele numrului binar, primul rest r0 fiind cifra cea mai
puin semnificativ.
Exemplu. Fie numrul zecimal 25 de convertit n baza 2. Paii algoritmului sunt cei
din tabelul de mai jos.
qi
25
12
6
3
1
0
1
2
3
4
Avem deci
ri
1
0
0
1
1
2510 110012
Conversia din baza 10 n baza 8 sau 16 se face prin mpriri repetate cu 8 i respectiv
16.
Avnd un numr n baza 2, pentru reprezentarea sa n baza 16 se grupeaz cte 4 cifre
binare, ncepnd de la dreapta. De exemplu
100111102 9 E 16 9 *16 1410 15810
Avnd un numr n baza 2, pentru reprezentarea n baza 8 se grupeaz cte 3 cifre
binare ncepnd de la dreapta. De exemplu
2810 111002 348
Pentru verificare
348 3 * 81 4 10 2810
N bi 2 i bn 1 2 n 1 ... b1 21 b0
i 0
Conversia unui numr natural din baza 2 n baza 10 se face calculnd suma din
formula de mai sus. Algoritmul este urmtorul
N=0
i=n1
while (i >= 0)
{
N = 2 * N + bi
i=i1
}
De exemplu, fie de convertit n baza 10 numrul 11012 . Paii algoritmului sunt
urmtorii:
N
i
bi
0
3
1
1
2
1
3
1
0
6
0
1
13
-1
Avem deci
11012 1310
n 1
n2
a 2
i
i 0
n 1
n2
a 2
i
i 0
Exemple. Vom considera numere ntregi reprezentate pe 8 bii, un bit de semn i 7 bii
ai numrului.
Numr zecimal
13
-13
25
-7
127
-127
Reprezentare binar
0000 1101
1000 1101
0001 1001
1000 0111
0111 1111
1111 1111
Reprezentare hexazecimal
0D
8D
19
87
7F
FF
Gama numerelor ntregi reprezentabile pe un octet n mrime i semn este [-127, 127].
Reprezentarea n mrime i semn este rar folosit n calculatoare.
Reprezentarea n complement fa de 1
Fie N un numr natural reprezentat n baza r i fie ai cifrele numrului.
Complementul unei cifre a numrului n baza r 1 este
_
ai r 1 ai
Reamintim c cifrele bazei r sunt {0, 1, ..., r 1}
Numrul N este reprezentat n complement fa de r 1 complementnd fiecare cifr
a numrului fa de r 1. Complementul fa de 1 al cifrei ai este ai 1 ai .
Un numr pozitiv X se reprezint n complement fa de 1 ca:
X 0 * 2 n1
n 2
a 2
i
i 0
n2
a 2
i
i 0
Reprezentare binar
0000 1111
1111 0000
1000 1100
0001 0011
0111 1111
1000 0000
Reprezentare hexazecimal
0F
F0
8C
13
7F
80
X 0 * 2 n1
n 2
a 2
i
i 0
n2
a 2
i
i 0
unde: a i 1 ai .
Complementul faa de doi al unui numr binar se obine n felul urmtor :
Toare cifrele nule de la dreapta numrului rmn nemodificate,
Prima cifr nenul de la dreapta se complementeaz fa de doi,
Restul cufrelor numrului se complementeaz faa de 1.
Aceeai regul se aplic i numerelor reprezentate n baza 16:
Toare cifrele nule de la dreapta numrului rmn nemodificate,
Prima cifr nenul de la dreapta se complementeaz fa de 16,
Restul cufrelor numrului se complementeaz faa de 15.
Exemple de numere reprezentate n complement fa de 2 pe un octet.
Numr zecimal
13
-13
7
-7
10
-10
127
-127
48
-48
Reprezentare binar
0000 1101
1111 0011
0000 0111
1111 1001
0000 1010
1111 0110
0111 1111
1000 0001
0011 0000
1101 0000
Reprezentare hexazecimal
0D
F3
07
F9
0A
F6
7F
81
30
D0
n 1
n 2
a 2
i
i 0
Avem relaia:
n2
2 n 2 n 1 2 n 2 2 0 1 2 n 1 2 i 1
i 0
n2
n2
i 0
i 0
i 0
2 n X 2 n 2 i 1 0 * 2 n 1 ai 2 i 2 n 1 1 ai 1
deci obinem formula de mai sus.
Numr binar
0001 1100
0000 1110
0011 1000
Numr hexazecimal
1C
0E
38
Numr binar
1110 0100
1111 0010
1100 1000
Numr hexazecimal
E4
F2
C8
Gama numerelor
(-27, 27)
(-215, 215)
(-231, 231)
(-263, 263)
2. Aplicaia Calculator
Aplicaia Calculator realizeaz calcule simple care pot fi efectuate cu un calculator de
buzunar. Acestea sunt:
operaii aritmetice cu numere ntregi i reale,
funcii matematice uzuale cum sunt logaritmi, exponeniale, sin, cos, etc.,
un numr limitat de operaii statistice: sume, valori medii, dispersii.
Aplicaia poate afia numerele ntregi n zecimal, binar, octal i hexazecimal.
Operaiile cu numere ntregi se efectueaz n complement fa de doi. La
conversia unui numr din bazele 2, 8, 16 n baza 10 se afiaz un numr pozitiv.
Fereastra aplicaiei este cea din Figura 1.
10
Modificnd opiunile Hex, Dec, Oct, Bin se modific baza n care numerele sunt
reprezentate. La conversia din bazele 16, 8, 2 n baza 10 se afiaz un numr pozitiv.
In cazul opiunii Decimal active putem alege una din opiunile Degrees, Radians sau
Grads, ca n Figura 3 sau Tabelul 1a.
Aceste opiuni vor fi activate n cazul utilizrii unei funcii trigonometrice; ele arat
dac argumentului funciei este n grade sexazecimale, radiani sau grade centesimale.
Opiunile meniului Help sunt:
Help Topics, afiaz o fereastr cu informaii despre aplicaie,
11
terge
12
3. Chestiuni de studiat
1. S se completeze tabelul de mai jos. Numerele se vor reprezenta pe 16 bii. Toate
numerele sunt pozitive.
Baza 10
42
Baza 2
0010 1010
Baza 8
52
Baza 16
2A
7C
64
0101 1111
26
1011 0100
135
B5
163
2. S se completeze tabelul de mai jos cu numere ntregi convertite n baza doi
reprezentate pe 8 i 16 bii. Se alege opiunea Byte i se completeaz coloanele n
baza 2 i baza 16. Se alege opiunea Word i se completeaz coloanele n baza 2 i
baza 16.
Baza 10
8 bii
Baza 2
, 16 bii
Baza 16
Baza 2
Baza 16
17
-17
73
-73
174
-255
-386
Reamintim c, la conversia unui numr din bazele 2, 8, 16 n baza 10 se afiaz un
numr pozitiv. De exemplu, convertim (-23)10 ()16 ()10. Rezultatele obinute
sunt (-23)10 (E9)16 (233)10. De ce?
Se pot reprezenta numerele -255, 174 i -386 pe 8 bii?
3. S se completeze tabelul de mai jos cu numere ntregi convertite n baza 16, n
complement fa de 16, reprezentate pe 1, 2, 4 octei.
Baza 10
19
-19
85
-85
-255
-386
1875
21785
-32784
13
4. Intrebri de control
1. Care este gama numerelor ntregi ce se pot reprezenta pe 1, 2, 4 octei n
complement fa de doi ?
2. Cum se modific un numr n complement fa de doi la deplasarea la stnga
i la dreapta cu un bit?
3. Cum se face extinderea formatului unui numr cu semn?
14