Zenbaki-sistema bitarra

**Zenbaki-sistema bitarra** edo **2ko oinarri-sistema,**  zenbakiak bi sinbolo erabiliz (**0** (zero) eta **1** (bat)) adierazten dituen zenbaki-sistema da.  
thumb|250x250px|Zenbaki bitarrak 0 eta 1 digituen bidez irudikatzen dira.
Zenbaki bitar bakoitzaren digituari bit deritzo. Sistema horren inplementazioa sinplea da elektronika digitalean ate logikoen bidez, eta ordenagailu modernoen oinarrian dagoen datu-errepresentazioa eta prozesamendua ahalbidetzen ditu.  

Sistema bitarra matematikan eta konputazioan erabiltzen den oinarrizko formalismoa da. Historikoki, Gottfried Wilhelm Leibniz filosofoak formalizatu zuen XVII. mendean bere *Explication de l’Arithmétique Binaire* lanean, eta XX. mendetik aurrera ordenagailuen funtzionamenduaren oinarri bihurtu da. Gaur egun, datuen biltegiratzea, informazio digitalaren transmisioa eta prozesamendu logikoa sistema bitarrean oinarritzen dira, besteak beste Unicode/UTF-8 testu-kodeketan eta zenbaki flotagarrien **IEEE 754** estandarrean.

__TOC__

## Historia 
thumb|200x200px|*I Ching* hexagramak, sistema bitarraren lehen adierazpenetakoak.  
Zenbaki-sistema bitarra oso antzinatik erabilia izan da hainbat kultura tradizionaletan. Txinako *I Ching* testuan (duela 4.000 urte baino gehiago) agertzen diren hegzagonalen dualtasuna yin–yang kontzeptuekin lotu izan da sistema bitarraren proto-irudikatze gisa.  

Bestalde, Egipton erabiltzen ziren “Horus-Eye” frakzioen sistema batzuk ere interpretatzen dira zenbait historialariren iritziz bitar moduan, frakzioen balioak ½, ¼, 1⁄8, 1⁄16… moduan biderikatuak zituztelako, hau da, potentzietako bitarrekin baliokideak.  

Pingala matematikari indiarrak, K. a. III. mendean, poesia-metrika aztertzeko “laghu” eta “guru” silabak erabiltzen zituen modu sistema bitarrean antolatzeko. Haren *Chandaḥśāstra* lanean matrize bitarrak agertzen dira, nahiz eta 0 zenbakia erabili ez zuen.  

[thumb|200px|[Gottfried Wilhelm Leibniz, sistema bitarraren formalizatzaile modernoa.]]  
Leibniz izan zen sistema bitarraren formalizazio modernoaren garatzaile nagusia. XVII. mendearen amaieran, *Explication de l’Arithmétique Binaire* artikuluan 0 eta 1 sinboloetan oinarritutako aritmetika proposatu zuen, baita hamartarretik bitarrera eta alderantzizko bihurketak ere. Leibniz-ek, gainera, *I Ching*-eko hexagramak bitarrekin lotu zituen, filosofiaren eta matematikaren uztarketa bilatuz. Haren interpretazioan, munduaren sorkuntza “ex nihilo” gisa adierazi zuen: 1 = Jainkoa, 0 = hutsunea.  

Leibniz baino lehen ere baziren esperimentuak. Esaterako, Thomas Harriot-ek (1560–1621) bere manuskriptuetan bitar sistema erabili zuen, eta Juan Caramuel y Lobkowitz pentsalari espainiarrak *Mathesis Biceps* (1670) lanean 2ko oinarriari buruzko ideia batzuk azaldu zituen.  

1854an, George Boole-k *An Investigation of the Laws of Thought* argitaratu zuen, non zenbaki bitarretan oinarritutako logika-erlazioak eta eragiketak garatu zituen. Bere lana aljebra boolearra bihurtu zen eta elektronika digitalaren oinarrietako bat izan zen.  

XX. mendearen erdialdean, Claude Shannon ingeniari estatubatuarrak Boole-ren ideiak zirkuitu elektrikoetara aplikatu zituen. Bere 1938ko tesian frogatu zuen piztu/itzali egoeretan oinarritutako zirkuituek logika aritmetikoa gauzatu zezaketela. Ondoren, 1948ko artikulu ospetsuan informazioaren teoria sortu zuen, sistema bitarra erdigunean jarriz.

## Adierazpena 
### Oinarrizko adibideak 
thumb|250x250px|Zenbaki bitarren irudikapen desberdinak.
Hamartar zenbaki-sisteman dagoen edozein zenbaki bit sekuentzia (digitu bitarrak) baten bitartez adieraz daiteke.  

Adibidez, hona hemen **582** zenbakiaren adierazpen bitarra, zenbait sinbolo ezberdin erabilita:  

Kasu bakoitzean irudikatutako zenbakizko balioa sinbolo bakoitzari esleitutako balioaren menpe egongo da. Ordenagailuetan, zenbakizko balioa bi boltaia edo tentsio ezberdinez adierazten da; disko gogorretan, bi polaritate magnetiko erabiliz.  

Adibidez, egoera positiboa (*piztuta*) eta negatiboa (*itzalita*) ez daude zuzenean bitarraren interpretazio batekin lotuta, baizik eta sistemaren definizio elektrikoarekin.  

### Notazio desberdinak 
Orokorrean, zenbaki bitarrak 0 eta 1 sinboloen bitartez adierazten dira, arabiar zifrak erabiltzen dituen hamartar sistemaren antzera.  

Normalean, zenbakia zuzenean idazten da; aurreko kasuan, adibidez: **1001000110**. Baina beste oinarrietatik bereizteko azpiindizeak edo aurrizkiak erabili ohi dira, hala nola: **10010001102**.  

Beste formatu baliokide batzuk hauek dira, kultura edo testuinguruaren arabera:  
* 1001000110b  
* 0b1001000110  
* bin 1001000110  
* %1001000110  

Zenbakiak ahoskatzeko orduan, digituz digitu irakurtzen dira, adibidez **100** = *bat-zero-zero*. Hamartar baliokidea **4** bada ere, horrela esatea bitarraren esanahia galtzea litzateke.  

### Kodeketa estandarrak 
Sistema bitarra informazio digitalaren kodetzean erabiltzen da, eta horretarako estandar ezagunak garatu dira:  
* ASCII eta UTF-8, karaktereak eta testuak irudikatzeko.  
* IEEE 754 estandarra, zenbaki hamartarrak koma mugikorrarekin adierazteko.  

### Hardware inplementazioa 
Zenbaki bitarrak erraz gauzatzen dira hardwarean, bi egoera elektriko baliatuta. Teknologia nagusiak honakoak dira:  
* CMOS (Complementary Metal-Oxide-Semiconductor), energia-kontsumo txikia duelako oso erabilia.  
* TTL (Transistor–Transistor Logic), lehen ordenagailu digitaletan estandar bihurtua.  

Gainera, zarata-marjina kontuan hartzea funtsezkoa da seinale bitarrak fidagarritasunez transmititzeko eta interpretatzeko.  

## Bihurketa metodoak 
### Hamartarra → Bitarra 
Hamartar zenbaki bat bitarrera bihurtzeko metodo ohikoena 2z zatidura errepikatuak egitea da. Prozesuan, hondarrak idatzi eta emaitza alderantziz ordenatzen da.  

; Adibidea: 25 → bitarrera  

Emaitza: 11001_{2}  

### Hamartar zatidunak → Bitarra (frakzioak) 
Hamartar zatia bitarrera bihurtzeko, 2z biderketa errepikatuen metodoa erabiltzen da: zati hamartarra 2z biderkatu, lortzen den **oso zatia** hurrengo bit gisa hartu, eta prozesua geratzen den zatiarekin errepikatu, 0 izan arte edo nahi den zehaztasunera arte.  

; Adibidea: 0{,}625_{10} → bitarrera  

Emaitza: 0{,}625_{10}=0{,}101_{2}  

**Oharra**: zenbait hamartar (adib. 0{,}1_{10}) **ez dira amaitzen** bitarrean eta errepikakorrak dira:  
0{,}1_{10}=0{,}0001100110011\ldots_{2}.  

Praktikan, moztu edo biribildu egiten da zehaztasun finkora.  

### Bitarra → Hamartarra 
Bitar zenbaki bat hamartar bihurtzeko, bit bakoitza dagokion 2ren berredurarekin biderkatu eta emaitza guztiak batu behar dira.  

; Adibidea: 10110_{2}  

Emaitza: 10110_{2}=22_{10}  

### Zenbaki negatiboak → Bitarra (bi osagarri) 
Ordenagailuek zenbaki oso negatiboak normalean **bi osagarriko** kodeketaz adierazten dituzte, n biteko sisteman: balio-tartea –2^(n–1) eta 2^(n–1)–1 artekoa da.  

Bi osagarrira pasatzeko:  
# Idatzi zenbakiaren balio absolutua bitetan.  
# Aldarazi bit guztiak (0 ↔ 1).  
# Gehitu 1 emaitzari.  

; Adibidea: –13 (8 bitean)  

Beraz, (-13)_{10}=11110011_{2} (8 bit).  

**Beste metodo batzuk**:  
* **Seinale eta magnitudea** (signo y magnitud): lehen bitak seinalea adierazten du (0 = +, 1 = –), eta gainerakoek balioa.  
* **Osagarri bakarra** (complemento a uno): bit guztiak aldatuz adierazten da negatiboa.  

Metodo horiek historikoki erabili izan dira, baina gaur egun bi osagarria da estandar nagusia.  

### Adibide praktikoak 
Praktikan, bihurketa hauek kalkulagailu informatikoen eta konbertsore digitalen bidez ere egin daitezke.  

* Oratlas-ek eskaintzen duen tresna batean, zenbakia sartuta automatikoki bihurtzen da hamartarretik bitarrera eta alderantziz.  

Horrelako tresnek ikasle eta programatzaileei erraztu egiten diete zenbaki-sistemak ulertzea eta eguneroko lanetan aplikatzea.

## Eragiketak 
### Oinarrizko zenbakien taula 
Zenbaki bitarrak 2ko oinarriko zenbaki-sistema batean antolatzen dira. Hona hemen 5 biteko zenbakien taula, zeinurik kontuan hartu gabe:  

Zenbakien interpretazioa 2ren berreduren bidez egiten da. Adibidez:  
* **1** = 1 = 1×2⁰  
* **2** = 10 = 1×2¹ + 0×2⁰  
* **4** = 100 = 1×2² + 0×2¹ + 0×2⁰  
* **8** = 1000 = 1×2³ + 0×2² + 0×2¹ + 0×2⁰  

### Zenbaki bitar zeinudunak 
Normalean, sistema bitarrean ez dira zeinuak kontuan hartzen, baina informatikako hainbat aplikaziotan zenbaki zeinudunak funtsezkoak dira.  

5 biteko zenbakiak honela adieraziko lirateke, lehen digituak zeinua markatzen duela (0 = positiboa, 1 = negatiboa):  

* -8 = **11000**  
* -7 = **11001**  
* -6 = **11010**  
* -5 = **11011**  
* -4 = **11100**  
* -3 = **11101**  
* -2 = **11110**  
* -1 = **11111**  
* 0 = **00000**  
* 1 = **00001**  
* 2 = **00010**  
* 3 = **00011**  
* 4 = **00100**  
* 5 = **00101**  
* 6 = **00110**  
* 7 = **00111**  
* 8 = **01000**  

Adibideak:  
* **+25** = 011001 = 1×2⁴ + 1×2³ + 0×2² + 0×2¹ + 1×2⁰ = +25  
* **-13** = 10011 = -(1×2⁴) + 0×2³ + 0×2² + 1×2¹ + 1×2⁰ = -13  

## Eragiketak 
### Oinarrizko zenbakien taula 
Zenbaki bitarrak 2ko oinarriko zenbaki-sistema batean antolatzen dira. Hona hemen 5 biteko zenbakien taula, zeinurik kontuan hartu gabe:  
  

## Erabilerak 
### Ordenagailuak eta softwarea 
thumb|250px|Datu digitalen irudikapena sistema bitarrean.
Sistema bitarra ordenagailu guztien oinarrian dago. Hardwarean, seinale elektrikoak bi egoeratan bereizten dira (piztuta/itzalita edo tentsio altua/baxua), eta horrek errazten du bitarra erabiltzea datuak prozesatzeko.  

Softwarean, sistema eragileek eta programazio-lengoaiek informazioa bitarrarekin maneiatu eta konpilatzen dute, hardwarearekin zuzenean elkarreragiteko. Halaber, memoria-helbideak eta datuen errepresentazio guztiak formatu bitarrean egiten dira.  

### Kriptografia 
Kriptografiako algoritmo moderno guztiak zenbakizko eragiketa bitarretan oinarritzen dira. Funtsezkoa da datuak enkriptatzeko, deskodetzeko eta autentifikatzeko, bai komunikazioetan bai informazioa babesteko sistemetan. Horien artean daude algoritmo ezagunak, hala nola RSA edo AES, bit-sekuentzien manipulazioan oinarrituak.  

### Beste arlo batzuk 
Sistema bitarra ez da soilik informatikan erabiltzen. Beste adibide batzuk:  
* Datu-base sistemetan informazioa biltegiratzea.  
* Irudi digital eta soinu digitalaren kodifikazioa.  
* Automatizazioa eta kontrol industriala.  
* Kode barra eta QR kodeen irudikapena.  
* DNAren sekuentziazio esperimentala eta bioinformatikako ikerketak.  

Sistema bitarraren erabilera zabala da, eta bere sinpletasunari esker gailu digitalen estandar bihurtu da.

## Kodeketa estandarrak 
Sistema bitarra informazioaren kodeketa estandar gehienetan erabiltzen da. Horietako batzuk hauetan dira oinarrituak:  

* **ASCII** (American Standard Code for Information Interchange): testuko karaktereak (letrak, zenbakiak, sinboloak) 7 edo 8 bitetan kodetzen dira. Adibidez, "A" letra 65 hamartar balioarekin lotzen da, eta horrek 1000001_{2} balio bitarra du.  

* **UTF-8**: Unicode karaktereen kodifikazio estandar nagusia da gaur egun. 1 eta 4 byte bitartean erabiliz, munduko hizkuntza guztietako karaktereak eta sinboloak irudika daitezke modu bateratuan.  

* **IEEE 754** araua: zenbaki hamartar zatidunak (*floating point numbers*) bitar formatuan adierazteko estandar nagusia. Mantisa, seinalea eta adierazlea (exponent) erabiltzen dira. Adibidez, 3{,}5_{10} zenbakia IEEE 754 formatuan 01000000011000000000000000000000_{2} bezala adierazten da.  

Kodeketa estandar horiei esker, sistema informatikoen arteko bateragarritasuna eta datuen truke segurua bermatzen da.  

## Hardware inplementazioa 
Sistema bitarraren oinarrian, hardware elektronikoak bi egoera nagusi bereizten ditu (0 eta 1), eta horiek tentsio-egoeren bidez adierazten dira.  

* **CMOS** (*Complementary Metal-Oxide Semiconductor*): gaur egungo txip gehienetan erabiltzen den teknologia da. Energia-kontsumo baxua eta eskalagarritasuna eskaintzen ditu, eta horri esker gailu mugikorrak eta ordenagailu modernoen prozesadoreak eraiki daitezke.  

* **TTL** (*Transistor-Transistor Logic*): 1960 eta 1980ko hamarkadetan oso erabilia izan zen. Nahiz eta CMOS-ek ordezkatu duen, TTL oraindik ikerketa eta hezkuntzako proiektuetan aurki daiteke.  

* **Zarata-marjina** (*noise margin*): zirkuitu digitalen diseinuan, zaratak (seinale elektrikoetan gerta daitezkeen aldaketa txikiak) ez dezan informazioa okertu. Adibidez, 0 gisa definitutako tentsioa 0–0,8 V tartean egon daiteke, eta 1 gisa 2–5 V artean. Marjina horrek fidagarritasuna bermatzen du.   

* **Sinpletasuna**: bi egoera soilik erabiltzen ditu (0 eta 1), beraz erraz gauzatzen da hardwarean.  
* **Fidagarritasuna**: zarataren edo interferentzien aurrean sendoa da, egoera bitarrak ondo bereizten direlako.  
* **Malgutasuna**: edozein informazio mota (testua, irudia, soinuak) kode bitarrean kodifika daiteke.  
* **Bateragarritasuna**: gailu digital guztiek ulertzen dute, eta horrek sistemak estandarizatu ditu.  

### Desabantailak 
Hala ere, sistema bitarrak baditu mugak ere.   

* **Digitukopuru handia**: zenbaki handiak adierazteko, bit sekuentzia luzeak behar dira.  
* **Espazioaren erabilera**: datu biltegiratzean, eraginkorragoak izan daitezke beste kodeketa batzuk (adib. konpresio algoritmoak).  
* **Gizakientzat zaila**: irakurtzeko eta erabiltzeko konplexua da, hamartar sistemarekin alderatuta.  

Horregatik, askotan beste sistema batzuk erabiltzen dira bitarraren ordez edo osagarri gisa, hala nola zortzitar sistema edo hamaseitar sistema, programazioan eta ingeniaritzan ohikoak direnak.

## Beste sistema batzuekin konparaketa 
### Hamartarra 
Hamartar edo 10eko oinarriko sistema da gizakiek gehien erabiltzen duten zenbaki-sistema. Bertan hamar digitu erabiltzen dira (0–9). Sistema bitarrarekin alderatuta, askoz trinkoagoa da zenbaki handiak adierazteko, baina hardwarean ez da hain erraza gauzatzen, tentsio egoeren bidezko inplementazioa zailagoa delako.   

### Zortzitarra 
Zortzitar sistema (8ko oinarria) zenbaki bitarraren luzapen gisa erabili izan da. Hiru bitekin 0–7 arteko balioak adieraz daitezke modu trinkoagoan. Ordenagailu klasikoetan eta programazio-lengoaia batzuetan (adib. UNIX-eko baimenetan) oso ohikoa izan zen, baina gaur egun erabilera mugatuagoa du.  

### Hamaseitarra 
Hamaseitar sistema (16ko oinarria) gaur egun oso erabilia da informatikako hainbat arlotan, bereziki koloreen kodeketan (adib. HTML eta CSS), memoria-helbideetan eta assembler lengoaian. Lau biteko taldeak (0–15 balioak) digitu bakarrean ordezkatzen dira (0–9 eta A–F). Horri esker, zenbaki bitarrak askoz irakurgarriago eta trinkoago idatz daitezke.   

## Ikus, gainera 
* Sistema hamartarra
* Zortzitar sistema
* Hamaseitar sistema
* Logika boolearra
* Claude Shannon
* George Boole
* Ordenagailuaren arkitektura
* Informazioaren teoria

## Erreferentziak 
## Bibliografia 
* "*Sistema digitalen diseinu-hastapenak: Oinarrizko kontzeptuak eta adibideak"* liburua da.  Olatz Arbelaitz, Txelo Ruiz, Olatz Arregi, Agustin Arruabarrena, Izaskun Etxeberria eta Amaia Ibarra. UEU, 2005
 

## Kanpo estekak 
* Lore eurizaleak (bitarra azaltzeko ipuina). Bideoa UPV/EHUko Informatika Fakultateak sortua, “Emakumeak Zientzian” ekimenaren barruan, LH 4–6 ikasleentzat zenbaketa bitarraren kontzeptua azaltzeko.  
* Zenbaki hamartarrak eta bitarrak bihurtzeko tresna interaktiboa (Oratlas).  
* Sistema bitarrari buruzko azalpen didaktikoa (Codelearn).  
* Datuen errepresentazio bitarra (KeepCoding).