conversia numerelor zecimale (fractii) dintr-o baza in alta
TRANSCRIPT
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 = 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
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
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