Sunteți pe pagina 1din 6

Un sistem binar este, n general vorbind, un sistem bazat pe 2 elemente, posibiliti, aspecte,

pri, etape .a. Acest articol descrie numai sistemul de numeraie binar, care folosete drept
baz numrul 2. Pentru alte sisteme de numeraie vezi i articolele Sistem de numeraie i
Sistem de numeraie poziional.
Pentru toate genurile de sisteme (care pot fi de numeraie sau nu, binare sau nu) vezi Sistem
(dezambiguizare).

[modific] Descriere general


n sistemul (de numeraie) binar exist doar dou cifre posibile, 0 i 1. Conform definiiei lui
Claude Shannon, o cifr binar conine cantitatea de informaie de 1 bit. Sistemul binar este n
acelai timp cel mai natural mod de stocare a informaiei n calculatoare, deoarece 1 bit
gzduiete unitatea elementar de informaie: valoarea bitului, 0 sau 1.
n orice sistem informatic, conform definiiei lui Turing, este nevoie de o memorie fiabil (sigur
n funcionare). Cea mai fiabil metod de prelucrare i stocare a datelor se bazeaz pe sistemul
binar: "celula este magnetizat sau nu este magnetizat", "trece curent sau nu trece curent",
"cartela este perforat sau nu este perforat" etc. Cea mai apropiat alternativ ar fi fost utilizarea
numeraiei n baza 3, ceea ce ar fi necesitat elemente cu trei stri stabile, ducnd la o logic
trivalent de genul "senzorul nu este excitat, senzorul este puin excitat, senzorul este excitat",
ceea ce, dei induce un nivel mai bun de discernere a informaiei, reduce, cel puin n principiu,
fiabilitatea potenial a sistemului.
Datorit uurinei implementrii sistemului binar n circuitele electronice, el se folosete practic
la toate calculatoarele moderne.

[modific] Reprezentarea numerelor n sistemul binar


n texte care conin numere n mai multe sisteme de numeraie, pentru a evita ambiguitile,
dup numrul n cauz se adaug ca subindice i baza sistemului de numeraie n paranteze. De
exemplu numrul zecimal (obinuit) 100 se noteaz 100(10) (n baza zece), spre a-l deosebi de
100(2) (n baza doi), care are valoarea unui 4 obinuit (n baza zece).
Numerele binare sunt alctuite din secvene de cifre binare ("bii"), care la rndul lor reprezint
orice entiti care au numai 2 stri stabile diferite. De exemplu, numrul zecimal 667(10) poate fi
reprezentat n binar prin urmtoarele iruri binare:
-

cifre binare; afirmaie adevrat (1) sau fals (0):


polarizarea unor magnei, vertical sau orizontal:
tensiune electric prezent sau absent:
da sau nu:

1
|
p
N

0
a
D

1
|
p
N

0
a
D

0
a
D

1
|
p
N

1
|
p
N

0
a
D

1
|
p
N

1
|
p
N

Nu este ns necesar ca cifra binar 1 s fie interpretat ntotdeauna drept tensiune prezent iar 0
drept tensiune absent; la fel de bine poate funciona i convenia contrar. Ultimul rnd din
tabela de mai sus este un exemplu n acest sens, unde D-urile echivaleaz cu 0, iar N-urile cu 1.
Cea mai obinuit reprezentare numeric a cifrelor binare este cea care corespunde cu sistemul
cifrelor zecimale, n aa fel nct: "0"(2) corespunde lui 0(10), i "1"(2) corespunde lui 1(10).

Cnd se citesc numerele binare, cifrele lor se rostesc una cte una. Ca exemplu, numrul 100(2),
care are valoarea zecimal 4, nu se citete "o sut", ci "unu-zero-zero" sau "unu-zero-zero n
baza 2".
Valoarea numrului binar 1010011011(2) de mai sus se calculeaz n zecimal n felul urmtor (de
la dreapta spre stnga):
20 + 21 + 23 + 24 + 27 + 29 = 1 + 2 + 8 + 16 + 128 + 512 = 667(10).
Pe lng numerele pozitive i numerele negative pot fi reprezentate n binar. Aceasta se face prin
adugarea unei poziii suplimentare la extrema stng (cea mai semnificativ) a numrului binar.
De asemenea i numerele reale fracionare (cu zecimale) pot fi reprezentate n sistemul binar, i
anume folosind o virgul ntre partea ntreag i cea fracionar.

[modific] Numrarea n sistemul binar


Binar Zecimal
0

10

11

100

101

110

111

1000

1001

1010

10

Numrarea n sistemul binar este n bun msur asemntoare cu cea din sistemul zecimal
obinuit. Diferena const n faptul c n binar stau la dispoziie doar dou cifre anume 0 i 1, n
timp ce n sistemul zecimal exist zece cifre, cele de la 0 la 9. Regulile pentru toate sistemele,
deci i pentru cel binar, sunt urmtoarele dou:

Numrarea ncepe cu o singur poziie, care pornete ca valoare (sau coninut) de la cifra
0 i continu cresctor pn la cea mai mare cifr din sistem. Aceast poziie, cea mai
din dreapta a numrului, poart numele de "poziia (cifra) cea mai puin semnificativ".
Dup ce o poziie curent ajunge la cifra maxim, poziia curent "sare" napoi la 0, iar
poziia din stnga ei trebuie incrementat cu o unitate. Aceast situaie se numete
"depire". (Dac cumva poziia din stnga nc nu exist, ea se creeaz i i se d mai

nti valoarea 1.) Prin acest procedeu este posibil ca i poziia din stnga s prezinte o
depire. n acest caz se aplic chiar aceast regul din nou, altfel spus, n mod recursiv,
din ce n ce mai spre stnga, pn se ntlnete un 0, care, fr depire, devine un 1.
Pentru numrarea n binar aceasta nseamn c, dup ce o poziie a devenit 1, ea se repune la 0,
iar la poziia din stnga ei trebuie adugat un 1. Rezultatul arat astfel: 0, 1, 10, 11, 100, 101,
110, 111, 1000 .a.m.d.

[modific] Aritmetica numerelor binare


Operaiile aritmetice binare elementare (adunarea, scderea, nmulirea i mprirea) se
aseamn n bun msur cu cele obinuite, zecimale.

[modific] Adunarea n binar


Tabla adunrii a dou cifre binare este urmtoarea:
0
0
1
1

+
+
+
+

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):
1 1 1 - 1
anterioar)
A
1 1 0 1
+B
1 0 1 0 1
---------------=S
1 0 0 0 1 0

<== transporturi, rezultate din depirea de pe poziia


<== valoarea lui A este 13(10) (1 + 4 + 8)
<== valoarea lui B este 21(10) (1 + 4 + 16)
<== valoarea sumei este 34(10) (2 + 32).

[modific] 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 1-uri. 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:
** *
<== coloanele marcate cu stelue se
folosesc pentru mprumut
A
1 1 0 0 1 0 1
= 101(10)
B
1 1 0 1 1
= 27(10)

<== A are valoarea zecimal 1 +


<== B are valoarea zecimal 1 + 2 +

4 +

32 + 64
8 + 16

-----------------=D
1 0 0 1 0 1 0
74(10)

<== diferena lor este D =

+ 8 +

64 =

Scderea unui numr binar produce acelai rezultat cu adugarea aceluia numr dar cu semn
schimbat. La calculatoare, pentru a schimba semnul unui numr, se folosete complementul fa
de 2, o operaie binar logic elementar. Aceasta elimin necesitatea de a mai realiza, pe lng
circuitele de adunare, i pe cele de scdere. Altfel spus, scderea se realizeaz prin urmtoarele
dou adunri:
A - B = A + not B + 1

[modific] nmulirea
nmulirea (multiplicarea) n binar se bazeaz, la fel ca i n sistemul zecimal, pe adunare. Tabla
nmulirii binare este simpl:
0
0
1
1

x
x
x
x

0
1
0
1

=
=
=
=

0
0
0
1

Pentru a multiplica numerele binare A i B se fac nti produsele pariale ale lui A cu fiecare
cifr binar a lui B, luate de la dreapta la stnga, i apoi se adun rezultatele pariale ntre ele.
Produsele pariale ale fiecrei cifre din B cu A sunt i ele simple:

Dac cifra din B este un 0, atunci i produsul parial este 0, i nu are efect asupra
adunrii;
Dac cifra din B este un 1, atunci produsul parial al lui A cu 1 este chiar A.

Exemplu 1010(2) x 11011(2):


1 1 0 1 1
1 0 1 0
--------0 0 0 0 0
+ 1 1 0 1 1
+ 0 0 0 0 0
+ 1 1 0 1 1
----------------1 0 0 0 0 1 1 1 0
* * * *

<== A este egal cu 1 + 2 + 8 + 16 = 27(10)


<== B este egal cu
2 + 8
= 10(10)

<== Produsul A x B = 2 + 4 + 8 + 256 = 270(10)


<== depire (la adunare)

[modific] mprirea
i mprirea binar se aseamn n bun parte cu cea obinuit, zecimal. Cnd numrul A
trebuie mprit la numrul B, A se mai numete "demprit", iar B "mpritor". n general se
deosebesc 2 feluri de mpriri:

cea exact, la care intereseaz i se calculeaz i cifrele de dup virgul,


i cea cu rest, cnd mpritorul B nu intr exact n dempritul A; calculele se opresc
acolo unde ar urma virgula, dar din demprit rmne un rest, care trebuie specificat.

Exemplu de mprire binar cu rest: 1100111(2) / 101(2) (sau n zecimal, 103 / 5 = 20 rest 3). Se
procedeaz de la stnga la dreapta:

1 1 0 0 1 1 1 / 1 0 1 = 1 0 1 0 0 (= 20(10)). Restul se afl pe penultima


linie, i anume 0 1 1 (= 3(10)).
- 1 0 1
<== ncape i executm scderea; trecem un 1 la rezultat;
= 0 0 1.0
<== "coborm" o cifr din demprit;
- 1 0 1
<== nu ncape; trecem un 0 la rezultat;
0 0 1.0.1
<== mai "coborm" nc o cifr;
- 1 0 1
<== ncercm s scdem nc o dat, cu o poziie mai la
dreapta;
= 0 0 0.1
<== acum ncape exact; trecem un 1 la rezultat, i "coborm"
cifra urmtoare;
- 1 0 1
<== nu ncape; trecem un 0 la rezultat;
0 0 0.1.1 <== mai "coborm" o cifr; acesta este restul, deoarece ...
- 1 0 1 <== ... cnd ncercm nc o dat, nu ncape nici acum;
trecem nc un 0 la rezultat;
acuma ns nu mai exist nici cifre de cobort.

mprirea binar const ntr-un iri de scderi. De fiecare dat cnd mpritorul nu ncape n
acelai numr de cifre ale dempritului (cu alte cuvinte este mai mic), se mai "coboar"
urmtoarea cifr spre dreapta din demprit.

[modific] Operaii binare logice


Cu numerele binare se pot executa i operaii logice sau "booleene" (numite aa dup
matematicianul i filozoful englez George Boole); acestea nu pun accentul pe valoarea aritmetic
a numrului binar n cauz, ci pe manipularea numerelor i cifrelor binare conform legilor
adevrului i falsului. Vezi articolul Logic binar.

[modific] Sisteme de numrare nrudite


[modific] 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 pur i simplu
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 cei ce sunt familiarizai cu el, sistemul hexazecimal este o metod comod pentru
afiarea coninutului binar al memoriei sau fiierelor din calculatoarele actuale, deoarece
numerele binare sunt n general foarte lungi, n schimb numerele hexazecimale sunt mai scurte
chiar dect cele zecimale. Vezi i articolul Sistem hexazecimal.

[modific] Sistemul octal


Sistemul octal are baza 8 i utilizeaz 8 cifre octale, notate de la 0 la 7, care sunt identice ca
valoare cu cifrele zecimale de la 0 la 7. Pentru reprezentarea valorilor octale sau zecimale de la 0
la 7 sunt necesari exact 3 bii, ncepnd cu 000 i terminnd cu 111. Transformarea unui numr
binar ntr-unul octal se face pur i simplu prin gruparea biilor n grupe de cte 3 bii, de la
dreapta la stnga. Exemplu:
110110110111001(2) = 110 110 110 111 001 = 66671(8).

Transformarea invers, din octal n binar, se face prin nlocuirea fiecrei cifre octale prin
combinaia corepunztoare de 3 bii.
Sistemul octal nu mai este ntrebuinat n zilele noastre aproape deloc.

[modific] Conversia din zecimal n binar


Mai nti se mparte numrul ales la 2; restul reprezint cifra cea mai puin semnificativ (cea
mai din dreapta) a rezultatului conversiei. Ctul se remparte la 2, se noteaz restul, i procedura
se repet cu noul ct (recursiv). Operaia se sfrete cnd ctul devine nul.
Pentru examplificare: conversia numrului 118(10) n binar:
Operaie=Ct Rest
118 2 = 59
0
59 2 = 29
1
29 2 = 14
1
14 2 = 7
0
72=3
1
32=1
1
12=0
1
Citind resturile de jos n sus, rezultatul final al conversiei este numrul binar 1110110(2).
Aceast metod se poate aplica i la conversiunea n alte baze.

[modific] Conversia din binar n zecimal


Ca exemplu folosim din nou numrul 1110110(2), pe care l convertim napoi n baza 10. Se
adun puterile lui 2, nmulite cu cifra binar respectiv. Puterile la care trebuie ridicat 2 ncep
cu n-1, unde n este numrul de cifre binare, i devin din ce n ce mai mici, de la stnga la
dreapta:
Binar:
Zecimal:

261 + 251 + 241 + 230 + 221 + 211 + 200 = 118

Pentru eficiena conversiei, calculul practic se face cu o schem Horner:


Zecimal:

(((((1 2 + 1)2 + 1)2 + 0)2 + 1)2 + 1)2 + 0 = 118