Sunteți pe pagina 1din 6

Lucrare de laborator nr.

1
Conversii i operaii n diferite baze de numeraie
Scopul lucrrii
Scopul lucrrii l reprezint nelegerea modului de conversie a unui numr ntreg sau
zecimal dintr-o baz n alta. Lucrarea se va axa pe conversia numerelor ntregi i zecimale din
baza 10 ntr-o baz oarecare, n special baza 1, ! i ", precum i pe conversia invers, dintr-o
baz oarecare n baza 10, mai ales din baza 1, ! i " n baza 10. Se va studia i modul de
realizare a conversiei din baza 1 direct n baza ! sau " i invers. #or $i prezentate operaii
simple %adunri, scderi& n di$erite baze de numeraie.
Consideraii teoretice
'n sistem de numeraie este constituit din totalitatea regulilor de reprezentare a
numerelor cu a(utorul anumitor simboluri denumite ci$re.
)entru orice sistem de numeraie , numrul semnelor distincte pentru ci$rele sistemului
este egal cu baza %b&. *eci pentru baza b+! %numere scrise n binar& semnele vor $i ci$rele 0 i
1. )entru baza b+1 %,exazecimal& semnele vor $i 0,1,!,-,.,/,,0,",1,2,3,4,*,5,6. Se observ
c pentru numerele scrise ntr-o baz mai mare dec7t baza 10 %zecimal& se $olosesc i alte
simboluri %litere& pe l7ng ci$rele obinuite din baza 10. 2st$el, n cazul numerelor scrise n
,exazecimal, literele 2,3,4,*,5,6 au ca i valori asociate 10,11,1!,1-,1.,1/.
)entru a $ace uor distincie ntre numerele scrise ntr-o anumit baz, la s$7ritul
numrului se mai scrie o liter ce simbolizeaz baza, de exemplu8
3 pentru numerele scrise n binar %baza !&
9 pentru numerele scrise n octal %baza "&
* pentru numerele scrise n zecimal %baza 10&
: pentru numerele scrise n ,exazecimal %baza 1&
*e regul numerele scrise n baza 10 nu trebuie neaprat s $ie urmate de simbolul
;*<, pentru c aceast baz se consider implicit. 5xist i alte moduri de notare, cum ar $i
scrierea la s$7ritul numrului n parantez a bazei, de exemplu8 100101001%!&, sau
1023%1&.
*ac se d un numr scris ntr-o baz oarecare ;b< sub $orma parte ntreag i parte
zecimal8
=r%b& + 4
n
4
n-1
4
n-!
> 4
!
4
1
4
0
, *
1
*
!
*
!
*
-
> ,
atunci valoarea sa n baza 10 va $i8
=r%10& + 4
n
? b
n
@ 4
n-1
? b
n-1
@ > @ 4
!
? b
!
@ 4
1
? b
1
@ 4
0
? b
0
@ *
1
? b
-1
@ *
!
? b
A!
@
@ *
-
? b
A-
@ >
Conversia numerelor din baza 10 ntr-o baz oarecare
Bn primul r7nd trebuie subliniat c pentru conversia unui numr care conine at7t parte
ntreag c7t i parte zecimal trebuie convertite separat partea ntreag i cea zecimal.
1
Conversia prii ntregi
2lgoritmul cel mai simplu const n mprirea succesiv a numrului scris n baza 10
la baza spre care se dorete conversia %se mparte numrul la baz, iar n continuare se mparte
c7tul obinut la baz .a.m.d. p7n c7nd c7tul devine 0&, dup care se iau resturile obinute n
ordine invers, care constituie valoarea numrului n baza cerut.
5xemple8
S se converteasc numerele ntregi -.0 i .-" din baza 10 n baza 1, ! i ".
Cai nt7i se convertete n baza 1 pentru c aceasta se realizeaz prin mai puine
mpriri dec7t conversia n baza ! sau ".
-.0 1
-! !1 1
!0 1 1 1
1 5 0 0
11 1
%adic ;B<&
2st$el, lu7nd resturile n ordine invers obinem 1/3%:&.
Cai departe, putem realiza conversia n baza ! i " n mod analog, dar exist i o
metod mai rapid de conversie a numerelor ntre bazele !," i 1 in7nd cont c pentru
$iecare ci$r ,exa exist . ci$re binare corespondente i pentru $iecare ci$r n octal exist -
ci$re binare dup tabelul care urmeaz8
#aloarea n
zecimal
#aloarea n
,exazecimal
=umrul binar
coresp. ci$rei ,exa
=umrul binar
coresp. ci$rei
octal
0 0 0000 000
1 1 0001 001
! ! 0010 010
- - 0011 011
. . 0100 100
/ / 0101 101
0110 110
0 0 0111 111
" " 1000
1 1 1001
10 2 1010
11 3 1011
1! 4 1100
1- * 1101
1. 5 1110
1/ 6 1111
!
Cai trebuie inut cont la trecerea unui numr prin bazele !,",1 c gruparea ci$relor
din baza ! se $ace <dinspre virgul spre extremiti<, adic la numerele ntregi de la dreapta la
st7nga %prin completare cu zerouri la st7nga numrului dac este cazul, deci n partea care nu-i
a$ecteaz valoarea&, iar la numerele zecimale gruparea se $ace de dup virgul de la st7nga la
dreapta, prin adugare de zerouri la dreapta numrului.
Bn concluzie,
-.0%*& + 1/3%:& + 1 0101 1011%3& + /--%D&
.-"%*& + 13%:& + 1 1011 0110 %3& + %D&
Conversia prii zecimale
)entru a converti un numr subunitar %deci partea $racionar a unui numr& din baza
10 ntr-o baz oarecare se $ac nmuliri succesive ale prilor $racionare p7n c7nd se a(unge
la parte $racionar nul, sau se a(unge la perioad sau se depete capacitatea de
reprezentare %se obin ci$re su$iciente, dei algoritmul nu s-ar $i terminat&. 4eea ce depete
partea zecimal la $iecare nmulire reprezint o ci$r a numrului n baza spre care se $ace
conversia.
)entru exempli$icare este uor s se $oloseasc sc,ema urmtoare, care prin cele dou
linii separ mai clar ci$rele reprezentrii precum i indic mai bine poziia virgulei %ci$rele de
la prima nmulire n (os adic de sub linie sunt dup virgul&. Erebuie remarcat c se
nmulete doar ceea ce este n dreapta virgulei.
5xemplu8
S se converteasc numrul 0,.0%*& n binar, octal i ,exazecimal8
0, .0?!
0 1.
1 ""
1 0
1 /!
1 0.
0 0"
0 1
0 -!
0 .
1 !"
0 /
1 1!
0 !.
0 ."
0 1
1 ...
*eci 0,.0%*& + 0,0111 1000 0101 0001 %3& + 0,0"/1%:& + 0,-0/%D&
4onversia unui numr care are at7t parte ntreag c7t i parte zecimal se $ace
convertind pe r7nd partea ntreag i cea zecimal.
-
5xemplu8
S se reprezinte n baza ! si 1 numrul real 1.,0/
Dbinem8 1.%*& + 1110%3& + 5%:&,
iar 0,0/%*& + 0,11%3& + 4%:&.
*eci 1.,0/%*& + 1110,11%3& + 5,4%:&
Conversia unui numr dintr-o baz oarecare n baza 10
)entru a converti un numr dintr-o baz oarecare n baza 10 se poate $olosi $ormula
de$init n prima parte a lucrrii i anume dac se d un numr scris ntr-o baz oarecare ;b<
sub $orma parte ntreag i parte zecimal8
=r%b& + 4
n
4
n-1
4
n-!
> 4
!
4
1
4
0
, *
1
*
!
*
!
*
-
>
atunci valoarea sa n baza 10 va $i8
=r%10& + 4
n
? b
n
@ 4
n-1
? b
n-1
@ > @ 4
!
? b
!
@ 4
1
? b
1
@ 4
0
? b
0
@ *
1
? b
-1
@ *
!
? b
A!
@
@ *
-
? b
A-
@ >
5xemple8
Se d numrul ntreg n ,exazecimal -2"%:& i se cere valoarea sa n zecimal8
= + -?1
!
@ 10?1
1
@ " + -?!/ @ 10 @ " + 1-%*&
Se d numrul $racionar 0,-.1%9& scris n baza " i se cere valoarea sa n zecimal
= + -?"
A1
@ .?"
A!
@1?"
A-
+ -F" @.F. @ 1F/1! + 0..-1.%*&
Se d numrul n binar 110,11%3& i se cere valoarea sa n ,exazecimal i n zecimal8
= + 110,11%3& + ,4%:& + ,0/%*&
Operaii simple cu numere scrise n diferite baze
Bn continuare vor $i prezentate operaiile de adunare i scdere a numerelor scrise n
binar, octal i ,exazecimal a numerelor ntregi $r semn.
Adunarea
2dunarea se $ace dup aceleai reguli ca n zecimal, cu observaia c ci$ra cea mai
mare dintr-o baza ;b< va $i b-1 %adic 1 in zecimal, 0 in octal, 1 in binar i 6 n ,exazecimal&.
*eci dac prin adunarea a dou ci$re de rang ;i< se va obine un rezultat mai mare dec7t b-1,
va apare acel transport spre ci$ra de rang urmtor ;i<@1, iar pe poziia de rang ;i< va rm7ne
restul mpririi rezultatului adunrii ci$relor de rang ;i< la baz. Eransportul spre ci$ra de
rang ;i<@1 va deveni o nou unitate la suma ci$relor de rang ;i<@1, adic se va mai aduna acel
transport 1.
5xemple8
1111 1 11 11
01010110%3&@ 1-.%9&@ *"2-!%:&@
10110101%3& -0!1%9& --5.4"%:&
.
100001011%3& /-0/%9& 21562%:&
S-a marcat transportul de o unitate la ci$ra de rang superior prin scrierea unui 1
deasupra ci$rei de rang superior la care s-a $cut transportul. Dperaia de adunare n binar este
util la reprezentarea numerelor n complement $a de ! c7nd se alege varianta adunrii
valorii 1 la reprezentarea din complement $a de 1 %vezi lucrarea cu reprezentarea datelor&.
5xemple8
S se adune cele ! numere ntregi -.0%*& i .-"%*& convertite mai sus n lucrare n bazele
1 si " si s se veri$ice rezultatul prin conversia lui in baza 10
-.0%*&@ .-"%*& + 0"/%*&
1/3%:& @ 13%:& + -11%:&. #eri$icare8 -11%:& + -?!/@1?1@1 + 0"/
/--%9& @ %9& + 1.!1%9&. #eri$icare81.!1%9& + 1?/1!@.?.@!?"@1 + 0"/
Scderea
Si pentru scdere sunt valabile regulile de la scderea din zecimal i anume8 dac nu se
pot scdea dou ci$re re rang ;i< %adic ci$ra desczutului este mai mic dec7t a scztorului&
se $ace ;mprumut< o unitate din ci$ra de rang urmtor %;i<@1&. Bn cazul n care ci$ra din care
se dorete realizarea ;mprumutului< este 0, se $ace ;mprumutul< mai departe la ci$ra de rang
urmtor.
5xemple8
. . . .
01011010%3& A 2-*.%:& A
01001100%3& 0/13%:&
00001110%3& !531%:&
S se scad cele dou numere ntregi -.0%*& i .-"%*& convertite mai sus n lucrare n
bazele de numeraie 1 i " i s se veri$ice rezultatul prin conversia lui n zecimal.
.-" A -.0 + 11%*&
13%:& A 1/3%:& + /3%:&. #eri$icare8 /3%:& + /?1@11 + 11
%9& A /--%9& + 1--%9&. #eri$icare 1--%9& + 1?.@-?"@- + 11
Dperaia de scdere este util c7nd se dorete reprezentarea numerelor n complement
$a de ! i se e$ectueaz scderea din !
nrGbitiGreprez @ 1
a numrului reprezentat n modul.
Mersul lucrrii
Se vor realiza conversiile din exemplele prezentate8
conversia numerelor din baza 10 in baza !," i 1
conversia unui numr intre bazele !," i 1
conversii din bazele !," i 1 n baza 10
conversia numerelor zecimale din baza 10 n baza ! i 1
operaii de adunare i scdere numere n bazele ! i 1
/