Documente Academic
Documente Profesional
Documente Cultură
Laborator 2
Laborator 2
+
+
+
+
0
1
0
1
=
=
=
=
0
1
1
10 (cu "depire")
Ultimul rnd de mai sus se citete: "Unu plus unu este egal cu unu-zero (n
baza 2)", valoarea lui 10(2) fiind desigur 2(10).
Pe baza tablei de mai sus se pot aduna oricare 2 numere binare A i B.
Exemplu (se ncepe de la dreapta):
A
1 1 0 1
+B
1 0 1 0 1
---------------=S
1 0 0 0 1 0
Scderea
Scderea n sistemul binar funcioneaz foarte asemntor cu adunarea
binar. Tabla scderii este:
0
0
1
1
0
1
0
1
=
=
=
=
0
1 (cu "mprumut")
1
0
Pe aceast baz se pot scdea numere binare formate din mai multe 0-uri i 1uri. Operaia se execut poziie cu poziie, de la dreapta la stnga. La
nevoie se folosete "mprumutul" de la poziia de mai la stnga. De exemplu:
* *
A
1 1 0 0 1 0 1
B
1 1 0 1 1
-----------------=D
1 0 0 1 0 1 0
2 + 8 + 64 = 74(10)
nmulirea
nmulirea (multiplicarea) n binar se bazeaz, la fel ca i n
sistemul zecimal, pe adunare. Tabla nmulirii binare este:
0
0
1
1
x
x
x
x
0
1
0
1
=
=
=
=
0
0
0
1
+ 0 0 0 0 0
+ 1 1 0 1 1
----------------1 0 0 0 0 1 1 1 0
* * * *
Sistemul hexazecimal
Sistemul hexazecimal are baza 16 i utilizeaz 16 cifre hexazecimale,
care se noteaz astfel: 0 1 2 3 4 5 6 7 8 9 A B C D E F.
n acest ir de cifre hexazecimale, cifrele de la 0(16) la 9(16) au
valorile zecimale echivalente, de la 0(10) la 9(10), iar cifrele A(16) ... F(16) au
valorile zecimale de la 10(10) la 15(10).
Pentru reprezentarea valorilor zecimale de la 0 la 15 sunt necesari
exact 4 bii, ncepnd cu 0000 i sfrind cu 1111. Transformarea unui numr
binar ntr-unul hexazecimal se face prin gruparea biilor n grupe de cte 4
bii, de la dreapta la stnga.
Exemplu:
110110110111001(2) = (0)110 1101 1011 1001 = 6DB9(16).
Transformarea invers, din hex n bin, se face prin nlocuirea fiecrei cifre
hex prin combinaia corepunztoare de 4 bii.
Pentru conversia unui numr real din baza 10 n baza 16, se analizeaz
separat partea ntreag i partea zecimal.
Exemplu:
Numrul n baza 10 este: 123,14.
Pentru conversia prii intregi 123(10) obinem:
123=16*7+11 -> restul 11, adic B(16)
7=16*0+7 -> restul 7, adic 7(16). Gsim c 123(10)=7B(16).
Pentru conversia prii zecimale 0.14(10) procedm astfel:
0.14*16=2.24 -> pstrm 2, care devine prima cifr dup virgul n baza 16
0.24*16=3.84 -> pstrm 3, care devine a doua cifr dup virgul n baza 16
0.84*16=13.44 -> pstrm 13, adic D, care devine a 3-a cifr dup virgul
0.44*16=7.04 -> pstrm 7, care devine a 4-a cifr dup virgul n baza 16
s.a.m.d.
Obinem: 0.14(10) = 0,23D7...(16)
Procesul continu pn cnd partea fracionar este zero sau avem suficiente
cifre dup virgul.
Proiecte:
1. S se elaboreze un program care convertete un numr din baza 10 n
baza 2 folosind schema lui Horner.
2. S se citeasc de la tastatur, sub forma unui vector sau a unui ir de
caractere un numr binar i s se converteasc ntr-o nou baz, citit
de la tastatur.
3. S se elaboreze un program care convertete un numr real din baza 10
n baza 16, utiliznd conversia separat a prii ntregi i a celei
zecimale.