Sunteți pe pagina 1din 10

Sistem binar

De la Wikipedia, enciclopedia liber

Avei mesaje noi

(comparaie cu versiunea precedent).

Sistem de numeraie Sistem Binar Ternar Cuaternar Octal Zecimal Duodecimal Hexazecimal Vigesimal Sexazecimal Baz 2 3 4 8 10 12 16 20 60

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).
Cuprins
[ascunde]

1 Descriere general 2 Istorie 3 Reprezentarea numerelor n sistemul binar 4 Numrarea n sistemul binar 5 Aritmetica numerelor binare

o o

5.1 Adunarea n binar 5.2 Scderea n binar

o o

5.3 nmulirea n binar 5.4 mprirea n binar

6 Operaii binare logice 7 Sisteme de numrare nrudite

o o

7.1 Sistemul hexazecimal 7.2 Sistemul octal

8 Conversia numerelor binare

o o o

8.1 Conversia din zecimal n binar 8.2 Conversia din binar n zecimal 8.3 Operatorii binari

9 Vezi i 10 Legturi externe

[modificare]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 i cel mai natural mod de stocare a informaiei n domeniul calculatoarelor, deoarece acolo 1 bit (celula de memorie cu capacitate minim) gzduiete unitatea elementar de informaie: valoarea bitului poate fi ori un 0, ori un 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 respectiv de stocare a datelor de calculator 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 (sistemul ternar), ceea ce ar fi necesitat componente electronice 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.

[modificare]Istorie
Sistemul de numeraie binar a nceput s fie folosit n mod implicit nc din cele mai vechi timpuri, odat cu apariia logicii bivalente: odat definite noiunile de "propoziie adevrat" i "propoziie fals", operaiile care lucreeaz cu aceste noiuni sunt operaii de tip binar. Folosirea sistemului binar s-a rspndit ns cel mai mult

abia recent, odat cu apariia sistemelor informatice, ncepnd de la cele mai rudimentare i pn la cele curente. Prima descriere cunoscut a unui sistem de numeraie binar a fost scris cndva ntre sec. VIII i IV .Hr. de ctre matematicianul indian Pingala. Vezi online. n China antic s-au folosit seturi complete de 8 trigrame i 64 hexagrame, corespunznd cu numere cu cte 3 respectiv 6 cifre binare. i n Africa se cunosc diverse combinaii binare antice. n anul 1605 Francis Bacon i-a imaginat un sistem de codificare a literelor alfabetului prin cte o secven de cifre binare. El i-a dat seama c, pentru codificare, se pot folosi nu numai cifrele binare, dar i orice alte obiecte cu 2 stri, ca de exemplu clopote (bat sau nu bat), lumini, tore .a. Tot n sec. XVII matematicianul german Gottfried Leibniz a descris n articolul su Explication de l'Arithmtique Binaire sistemul binar n ntregime, folosindu-se chiar de simbolurile moderne 0 i 1. n anul 1854 matematicianul i filozoful englez George Boole a publicat o lucrare fundamental care prezint un sistem logic denumit mai trziu algebra Boolean. Acest sistem s-a dovedit esenial pentru dezvoltarea sistemului binar i implementarea sa n circuitele electronice de mai trziu. n 1937, Claude Shannon, un inginer i matematician american, a pus bazele teoriei informaiei precum i cele ale proiectrii circuitelor electronice digitale.

[modificare]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 0 1 0 0 1 1 0 1 1 | - | - - | | - | | p a p a a p p a p p N D N D D N N D N 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.

[modificare]Numrarea Binar Zecimal 0 1 10 11 100 101 110 111 1000 1001 1010 0 1 2 3 4 5 6 7 8 9 10

n sistemul binar

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.

[modificare]Aritmetica

numerelor binare

Cu numerele binare se pot efectua n principiu toate operaiunile aritmetice i algebrice, de exemplu comparaia (punerea n relaie de ordine prin<, = i >), ridicarea la putere, extragerea de radicali, funcii trigonometrice, logaritmice .a.m.d. Mai uzuale sunt ns operaiile aritmetice binare elementare (adunarea, scderea, nmulirea i mprirea), care se aseamn n bun msur cu cele obinuite, zecimale:

[modificare]Adunarea

n binar

Tabla adunrii a dou cifre binare este urmtoarea:

0 + 0 = 0 0 + 1 = 1 1 + 0 = 1 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 +B 1 1 0 1 1 0 1 0 1

<== 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)

----------------

=S

1 0 0 0 1 0

<== valoarea sumei este 34(10) (2 + 32).

[modificare]Scderea

n binar

Scderea n sistemul binar funcioneaz foarte asemntor cu adunarea binar. Tabla scderii este:

0 - 0 = 0 0 - 1 = 1 (cu "mprumut") 1 - 0 = 1 1 - 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:

* * mprumut A B = =D = 27(10)

<== coloanele marcate cu stelue se folosesc pentru <== A are valoarea zecimal 1 + <== B are valoarea zecimal 1 + 2 + 4 + 8 + 16 32 + 64

1 1 0 0 1 0 1 1 1 0 1 1

= 101(10)

-----------------1 0 0 1 0 1 0 74(10) <== diferena lor este D = 2 + 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 [modificare]nmulirea

n binar

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

0 x 0 = 0 0 x 1 = 0

1 x 0 = 0 1 x 1 = 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 * * * * [modificare]mprirea

<== 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)

n binar

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 = 0 0 1.0 - 1 0 1

/ 1 0 1 = 1 0 1 0 0 (= 20(10)). Restul se afl pe penultima <== ncape i executm scderea; trecem un 1 la rezultat; <== "coborm" o cifr din demprit; <== nu ncape; trecem un 0 la rezultat;

linie, i anume 0 1 1 (= 3(10)).

0 0 1.0.1 - 1 0 1 dreapta; = 0 0 0.1 cifra urmtoare; - 1 0 1 0 0 0.1.1 - 1 0 1

<== mai "coborm" nc o cifr; <== ncercm s scdem nc o dat, cu o poziie mai la <== acum ncape exact; trecem un 1 la rezultat, i "coborm" <== nu ncape; trecem un 0 la rezultat; <== mai "coborm" o cifr; acesta este restul, deoarece ... <== ... cnd ncercm nc o dat, nu ncape nici acum; acuma ns nu mai exist nici cifre de cobort.

trecem nc un 0 la rezultat;

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.

[modificare]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 articolele Logic binar iAlgebr boolean.

[modificare]Sisteme [modificare]Sistemul

de numrare nrudite
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 al fiierelor din calculatoarele actuale, deoarece numerele binare sunt n general foarte lungi, n schimb numerele hexazecimale sunt mai scurte chiar dect cele zecimale cu aceeai valoare. Vezi i articolul Sistem hexazecimal.

[modificare]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.

[modificare]Conversia

numerelor binare

Pentru conversia numerelor dintr-o baz n alta n general - vezi articolul Baz de numeraie.

[modificare]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

59 2 = 29

29 2 = 14

14 2 = 7

72=3

32=1

12=0

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.

[modificare]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

[modificare]Operatorii

binari

Operatorii binari sunt caractere speciale cu care se noteaz operaii binare, de exemplu cele din cadrul unui algoritm sau program. Notarea lor nu este standardizat. Sunt de mai multe feluri:

aritmetici: +; -; *; / raionali: <= sau ; >= sau ; == sau =; != sau logici: && (i); || (sau)