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

6
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 . 10 0 = 1 , aceasta egalitate este valabila pentru orice baza B. Avem: B 0 = 1 pentru orice baza B (orice numar ridicat la puterea 0 este egal cu 1). 2 0 = 1 - baza este 2 (numere binare) 8 0 = 1 - baza este 8 (numere octale) 10 0 = 1 - baza este 10 (numere in baza zece) 16 0 = 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*10 3 +2*10 2 +3*10+4 Sa vedem cum poate fi scris numarul 0,1234. 1

Upload: farcas-adrian

Post on 12-Jun-2015

5.779 views

Category:

Documents


10 download

TRANSCRIPT

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

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

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

http://24secunde.com

Observam ca 0*B0 = 0*1 = 0 pentru orice baza B. Avem : 0*20 = 0*1 = 0 0*80 = 0*1 = 00*100 = 0*1 = 00*160 = 0*1 = 0Putem 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 zecimal0,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 zecimal0,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 decimal0,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

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

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,52-2 = 1/ 4 = 0,252-3 = 1/ 8 = 0,1252-4 = 1/ 16 = 0,06252-5 = 1/ 32 = 0,031252-6 = 1/ 64 = 0,0156252-7 = 1/ 128 = 0,00781252-8 = 1/ 256 = 0.00390625

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

Observam ca:0,110 < 0,5 rezulta k1= 00,110 < 0,25 rezulta k2= 00,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

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

http://24secunde.com

Zecimal in binar – a doua varianta A doua varianta se bazeaza pe multiplicare.

0,1 * 2 = 0,20,2 * 2 = 0,40,4 * 2 = 0,80,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,40,4 * 2 = 0,80,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 specialeBinar -> 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

4