Sunteți pe pagina 1din 4

http://24secunde.

com

Conversia numerelor zecimale (fractii) dintr-o baza in alta


Lectia trecuta s-a ocupat de numerele intregi. Este timpul sa trecem mai departe si sa consideram
numerele de forma

0,1 = 1/10 = 10-1


0,01 = 1/100 = 10-2
0,001 = 1/1000 = 10-3
0,0001 = 1/10000 = 10-4

In continuare, din motive care tin de folosirea tastaturii calculatorului, vom scrie 1/10 in loc de

100 = 1 , aceasta egalitate este valabila pentru orice baza B. Avem:

B0 = 1 pentru orice baza B (orice numar ridicat la puterea 0 este egal cu 1).

20 = 1 - baza este 2 (numere binare)


80 = 1 - baza este 8 (numere octale)
100 = 1 - baza este 10 (numere in baza zece)
160 = 1 - baza este 16 (numere hexazecimale)

Se observa ca numere zecimale se refera la numerele care pot fi scrise sub forma de fractii
(1/10) sau cu virgula. De aceea, folosirea expresiei numere zecimale pentru a denumi numerele
scrise in baza 10 poate fi confuza uneori.

Fie numarul zecimal 1234. Stim ca el poate fi scris sub forma urmatoare:

1234= 1*103+2*102+3*10+4

Sa vedem cum poate fi scris numarul 0,1234.

0,1234 = 0*100 + 1*10-1 + 2*10 -2 + 3*10 -3 + 4*10 -4


= 0*1 + 1*10-1 + 2*10 -2 + 3*10 -3 + 4*10 -4
= 0 + 1*10-1 + 2*10 -2 + 3*10 -3 + 4*10 -4
= 1*10-1 + 2*10 -2 + 3*10 -3 + 4*10 -4

1
http://24secunde.com

Observam ca 0*B0 = 0*1 = 0 pentru orice baza B. Avem :


0*20 = 0*1 = 0
0*80 = 0*1 = 0
0*100 = 0*1 = 0
0*160 = 0*1 = 0
Putem ignora expresia 0*B0 in calculele noastre.

0,1234 = 1 * 10-1 + 2 * 10 -2 + 3 * 10 -3 + 4 * 10 -4
= 1 * 1/10 + 2 * 1/102 + 3 * 1/103 + 4 * 1/104
= 1 * 1/10 + 2 * 1/100 + 3 * 1/1000 + 4 * 1/10000

Tinem cont de faptul ca B-k = 1/Bk (pentru orice baza B si numar intreg k).

Conversie din binar in zecimal


0,1110112 = 1 * 2-1 + 1 * 2-2 + 1 * 2-3 + 0 * 2-4 + 1 * 2-5 + 1 * 2-6
= 1 * 1/2 + 1 * 1/4 + 1 * 1/8 + 1 * 1/32 + 1 * 1/64 =
=(32 + 16 + 8 + 2 + 1)/64
= 59/64
= 0,92187510

Conversie din octal in zecimal


0,4568 = 4 * 8-1 + 5 * 8-2 + 6 * 8-3
= 4 * 1/8 + 5 * 1/64 + 6 * 1/512
= (4 *64 + 5 * 8 + 6) /512
= 302/512
= 0,5898437510

Conversie din hexazecimal in decimal


0,E816 = E * 16-1 + 8 * 16-2
= 14 * 1/16 + 8 * 1/256
= (14 * 16 + 8)/256
= 232/256
= 0,9062510

Pentru referinta si verificare, puteti folosi linkul urmator :

http://www.easysurf.cc/cnver17.htm

2
http://24secunde.com

Conversia fractiilor zecimale in alte baze

Zecimal in binar – prima varianta


Fie numarul zecimal 0,1. Sa vedem care este reprezentarea sa binara.

Stim ca 0,110 se poate scrie astfel :

0,110 = k1* 2-1 + k2* 2-2 + k3* 2-3 + k4* 2-4 + … + kn* 2-n

Cifrele k1 , k2 , k3 , …, kn pot avea doar valorile 1 si 0 in reprezentare binara.

2-1 = 1/ 2 = 0,5
2-2 = 1/ 4 = 0,25
2-3 = 1/ 8 = 0,125
2-4 = 1/ 16 = 0,0625
2-5 = 1/ 32 = 0,03125
2-6 = 1/ 64 = 0,015625
2-7 = 1/ 128 = 0,0078125
2-8 = 1/ 256 = 0.00390625

Stim ca 0,110 ≥ kn* 2-n (pentru orice n).

Observam ca:
0,110 < 0,5 rezulta k1= 0
0,110 < 0,25 rezulta k2= 0
0,110 < 0,125 rezulta k3= 0

Dar, 0,110 > 0,0625 si rezulta k4= 1.


Numarul binar cautat are forma 0, 0001……. . Trebuie sa continuam calculele pentru a afla toate
cifrele care compun numarul.

0,1 - 0,0625 = 0,0375

Sa gasim cea mai mare putere care este cuprinsa in 0,0375.


Se vede ca 0,0375 > 0,03125. Deci rezulta k5= 1.

0,0375 - 0,03125 = 0,00625

Se vede ca 0,00625 < 0,015625. Rezulta ca k6= 0.


Se vede ca 0,00625 < 0,0078125. Rezulta ca k7= 0.
Se vede ca 0,00625 > 0.00390625. Rezulta ca k8= 1.

Se poate scrie ca 0,110 = 0,000110012 si se observa ca un numar zecimal poate sa nu aiba o


reprezentare exacta in alta baza.

3
http://24secunde.com

Zecimal in binar – a doua varianta


A doua varianta se bazeaza pe multiplicare.

0,1 * 2 = 0,2
0,2 * 2 = 0,4
0,4 * 2 = 0,8
0,8 * 2 = 1,6 (1 este salvat ca rezultat si apoi aruncat)
0,6 * 2 = 1,2 (1 este salvat ca rezultat si apoi aruncat)
0,2 * 2 = 0,4
0,4 * 2 = 0,8
0,8 * 2 = 1,6 (1 este salvat ca rezultat si apoi aruncat)
……………
Se observa natura repetitiva a transformarilor.

Numarul 0,110 = 0,000110012.

Zecimal in octal

Fie numarul zecimal 0,5898437510. Sa vedem care este reprezentarea sa octala.

0,58984375 * 8 = 4,71875 (pastram 4 ca rezultat si apoi il aruncam)


0,71875 * 8 = 5,75 (pastram 5 ca rezultat si apoi il aruncam)
0,75 * 8 = 6 (pastram 6 ca rezultat)

Deci 0,5898437510= 4568 .

Conversii speciale
Binar -> Octal (se grupeaza in grupe de 3 cifre)
0, 111 1002 = 0, 648
Binar -> Hexazecimal (se grupeaza in grupe de 4 cifre)
0, 1111 00002= 0, F016