Bit

**Bit-a** informatikako eta komunikazio digitaleko informazio-unitate oinarrizkoena da. Izena **digitu bitar** kontzeptuaren akronimo bat da (**Bit** = **B**inary dig**it**). Bitak egoera logiko bat adierazten du bi balio posibleren bitartez. Balio horiek, eskuarki, "1" edo "0" gisa irudikatzen dira, baina beste errepresentazio batzuk ere erabiltzen dira, hala nola *egia*/*gezurra*, *bai*/*ez*, *on*/*off*, edo *+*/*−*.

Fisikoki bi egoerako gailu batekin inplementatu daiteke. Balio horiek gailu batean nola errepresentatu behar diren konbentzio kontua da, hau da, informazio hori nola lotzen den gailu baten bi egoera fisikoren bidez konbentzio kontua da, eta esleipen desberdinak erabil daitezke gailu berarekin ere.

Ondoz ondoko digitu bitarrezko multzo bati bit-kate, bit-bektore edo (dimentsio anitzeko) bit-matrize esaten zaio. Zortzi biteko multzo bati byte deitzen zaio, baina, historikoki, bytearen tamaina ez dago guztiz zehazki definituta. Hitz erdi bat, hitz oso bat, hitz bikoitz bat eta hitz laukoitz bat byte kopuru zehatz batez osaturik daude, eta byte kopuru horiek bi zenbakiaren berredura txikiak dira. Lau biteko kate batek, normalean, nibble izena hartzen du.

Informazioaren teorian, bit bat da probabilitate berarekin 0 edo 1 izan daitekeen zorizko aldagai bitar baten informazioaren entropia, edo aldagai horren balioa ezagutzen denean lortzen den informazioa. Informazio unitate gisa, bitari shannon ere deitzen zaio, Claude E. Shannonen omenez.

Digitu bitarraren ikurra "*bit*" da IEC 80000-13:2008 arauaren arabera, edo "*b*" karaktere xehea IEEE 1541-2002 arauaren arabera. Azken horren erabilerak nahasmena sor dezake "*B*" letra larrizko ikurrarekin, bytearentzako nazioarteko ikur estandarra dena.

## Historia 
Bit diskretuen bidezko datu-kodifikazioa Basile Bouchon eta Jean-Baptiste Falcon-ek asmatutako txartel zulatuetan erabili zen (1732), Joseph Marie Jacquard-ek garatua (1804), eta, ondoren, Semyon Korsakov, Charles Babbage, Herman Hollerith eta IBM bezalako lehenengo konputagailu-fabrikatzaileek hartua. Ideia horren aldaera bat izan zen paperezko zinta zulatua. Sistema horietan guztietan, inguruneak (txartelak edo zintak) hainbat zulo posizio izaten zituen kontzeptualki; posizio bakoitza zulatu egin zitekeen edo ez, eta, hala, informazio pixka bat izan zezakeen. Testua biten bidez kodetzea Morse kodean (1844) eta komunikazio digital goiztiarren makinetan (teletipoak eta stock-tiker makinak, adibidez) ere erabili zen (1870).

Ralph Hartleyk informazio neurri logaritmiko baten erabilera proposatu zuen 1928an. Claude E. Shannonek "bit" hitza erabili zuen lehenengo "Komunikazioaren teoria matematiko bat" bere 1948ko liburu seminalean. Berak John W. Tukeyri egotzi zion bere jatorria. Tukeyk Bell Labsen ohar bat idatzi zuen 1947ko urtarrilaren 9an eta "bit" hutserako "informazio bitarreko digitua" kontratatu zuen.

## Definizioa 
**Bit**a **B**inary dig**it**-en akronimoa da (digitu bitarra). Bit bat sistema bitarreko digitu bat da.

Zenbakitzeko sistema arruntean hamar digitu erabiltzen ditugun bitartean, sistema bitarrean bi soilik erabiltzen dira, 0 eta 1. Hots, bit batek **0** edo **1** balio har dezake. Bit bat errazago ulertzeko pentsa dezakegu bonbilla bat dela, eta hau, piztuta edo itzalita egon daitekeela.

:itzalita Fitxategi:Bulbgraph Off.png    edo     piztutaFitxategi:Bulbgraph.png

Halaber, beste gauza asko adieraz ditzake digitu batek: egiazkoa edo gezurrezkoa izatea, iparra edo hegoa, irekita edo itxita, ongi edo gaizki, edo guk geuk adierazi nahi dugun beste edozer. Nahikoa da egoeratako bati "0" bat eta besteari "1" bat esleitzea. Adib: itzalita (0) eta piztuta (1).

## Bitaren errepresentazioa 
Bit unitatea ez dago definituta Nazioarteko Unitate Sisteman (SI). Hala ere, Nazioarteko Batzorde Elektroteknikoak IEC 60027 araua eman zuen, digitu bitarraren sinboloak "bit" izan behar duela zehazten duena, eta hori multiplo guztietan erabili behar da, "kbit" bezala, kilobit bakoitzeko. Hala ere, "b" letra ere asko erabiltzen da eta IEEE 1541-2002 arauak gomendatu zuen. «B» letra larria, aldiz, bytearen ohiko ikur estandarra da.
Zenbait bitekin osatutako kate bat hainbat modutan errepresentatu eta izendatu daiteke. Informazioaren teknologian hainbat testuingurutan errepikatu ohi diren bit-multzoen aipamena errazteko, tradizionalki hainbat informazio-unitate erabili izan dira. Ohikoena byte unitarioa da, Werner Buchholz-ek 1956ko ekainean sortua. Historikoki, ordenagailu batean testu-karaktere bakar bat kodetzeko erabilitako bit-multzoa adierazteko erabili zen (harik eta UTF-8 kodifikazio multibytea bere gain hartu zuen arte), eta, horregatik, 1993az geroztik oinarrizko elementu helbideragarri gisa erabili zen konputagailu-arkitektura askotan. Hardwarea diseinatzeko joerak bat egin zuen byte bakoitzeko zortzi bit erabiltzeko inplementazio arruntenean, gaur egun asko erabiltzen baita. Hala ere, definizioa hardwarearen diseinu jakin batzuen menpe ez egotearren, anbiguo ez izateko, zortzikote () unitatea definitu zen zortzi biteko sekuentzia bat esplizituki denotatzeko.

Ordenagailuek tamaina finkoko multzoetan manipulatzen dituzte bitak, normalean oinarrizko multzo horiek "hitz" izenarekin erabiltzen dira. Byte-a bezala, hitz baten bit kopurua ere aldatu egiten da hardwarearen diseinuarekin, eta 8 eta 80 bit artekoa izan ohi da, edo gehiago ere bai konputagailu espezializatu batzuetan. XXI. mendearen hasieran, ordenagailu pertsonalek edo txikikazko zerbitzariek 32 edo 64 biteko hitz-tamaina zuten.

Nazioarteko Unitate Sistemak zenbait aurrizki hamartar definitzen ditu unitate estandarizatuen multiploetarako, eta horiek erabili ohi dira zatiarekin eta bytearekin ere.  Aurrizkiak kilotik hasita (103) yottaraino (1024) doaz milaren multiploak gehituz, eta atzizki horiekin sortzen dira unitateak: kilobit (kbit)... yottabit (Ybit).

## Bit-en konbinazioak 
Bit batekin bi balio bakarrik adieraz ditzakegu, normalean 0 eta 1 adierazten ditugu. Informazio gehiago adierazteko gailu digital batean, bit kopuru handiago bat behar dugu. Bi bit erabiliko bagenitu lau konbinazioak edukiko genituzke:

* **0 0** - Biak itzalita daude

* **0 1** - Lehena itzalita dago, bigarrena piztuta
* **1 0** - Bigarrena itzalita dago, lehena piztuta
* **1 1** - Biak piztuta dude

Lau konbinazio hauekin lau balio desberdin adierazi ditzakegu, adibidez, urdina, berdea, gorria eta magenta koloreak.

Bit segidak erabiliz edozein balio kodifika dezakegu, zenbakiak, hitzak eta irudiak ere. Lau bitek *nibble* bat sortzen dute eta 24 = 16 balio desberdin adieraz ditzake, zortzi bitek zortzikote bat (edo byte bat) sortu eta 28 = 256 balio desberdin arte adieraz ditzake. Orokorki, **n** biteko sortarekin 2n balio desberdin arte adieraz ditzakegu.

## Bitaren erabilpena informatikan 
Hasieran esan dugun bezala, **bit**-a informatikako oinarrizko unitatea da. Honek "0" edo "1" egoera logikoa izan dezake; logikoki begiratzen badugu bit bat **0**-a ***gezurra*** balioa dela izango litzateke, eta **1**-a berriz, ***egiazkoa*** balioa dela izango litzateke. Informatikan bit-ek erabilpen handia dute. Bit-ekin adibidez, oinarrizko eragiketa logikoak burutu daitezke: **AND**, **OR**, **NOT**, **NAND**, **NOR**, **XOR** eta **XNOR**. Haien bitartez, multzokatuz, zenbakiak (osoak nahiz errealak), karaktereak eta konplexuagoak diren datu-egiturak ere adieraz daitezke. Oinarrizko eragiketa horiek, ate logikoen bidez errepresentatzen dira. Hona hemen ate logikoen erabilpen-taula labur bat:

|-
| **EDO**
**(OR)**
| 128px|EDO ikurra
| EDO ikurra
| A+B
|

|-
| **EZ**
**(NOT)**
| 128px|EZ ikurra
| EZ ikurra
| \overline{A}
|

|-
|
|-
| **EZ-ETA**
**(NAND)**
| 128px|EZ-ETA ikurra
| EZ-ETA ikurra
| \overline{A \cdot B}
|

|-
| **EZ-EDO**
**(NOR)**
| 128px|EZ-EDO ikurra
| EZ-EDO ikurra
| \overline{A + B}
|

|-
|
|-
| **ALA**
**(XOR)**
| 128px|ALA ikurra
| ALA ikurra
| A \oplus B
|

|-
| **EZ-ALA**
**(XNOR)**
| 128px|EZ-EDO esklusibo
| EZ-EDO esklusibo
| \overline{A \oplus B}
|

|}

#### Little endian eta big endian 
Ordenagailuetan, *byte* bakoitza bere *memoriako* posizioarekin identifikatzen da (helbidea). *Byte* bat baino gehiagoko zenbakiak erabiltzen direnean, *byte* horiek ere txikienetik handienera ordenatuta egon behar dute, *byte* txikienaren eta *byte* esanguratsuenaren kokapena adieraziz. Horrela, 27 zenbaki hamartarra duen *byte* bat *little endian* makina batean biltegiratuko litzateke, *big endian* makina batean bezala, *byte* bakarra okupatzen baitu. Hala ere, zenbaki handiagoetarako, irudikatzen dituzten byteak ordena desberdinean gordeko lirateke arkitektura bakoitzean. Alderdi hori bereziki garrantzitsua da mihiztatze-lengoaian edo makina-kodean programatzeko; izan ere, makina batzuek memoriaren norabiderik baxuenean dagoen *bytea* hartzen dute esangurarik txikienekotzat (*little endian* arkitektura, Intel prozesadoreak bezala), eta beste batzuek, berriz, byte esanguratsuena hori dela uste dute (*big endian* arkitektura, Motorola prozesadoreak bezala).

Adibidez, kontuan har dezagun memoriaren 100 norabidean dagoen 32 *biteko* (4 *byte*) `AABBCCDD` zenbaki hamaseitar osoa. Zenbakiak 100etik 103ra bitarteko posizioak hartuko lituzke, baina makina *little* edo *big endian* den arabera, *byteak* modu desberdinean biltegiratuko lirateke:

**Little endian** (Intel bezala)

**Big endian** (Motorola bezala)

Goiko irudietan, non 100, 101, 102 eta 103 memoria posizioak ezkerretik eskuinera hazten irudikatzen diren, «badirudi» *big endian* errepresentazioa naturalagoa dela, `AABBCCDD` zenbakia zuzen irakur baitezakegu (ikus irudia); *little endian* errepresentazioan, aldiz, zenbakia alderantziz dagoela dirudi, edo «hankaz gora». Hala ere, ez dago ezer memoria norabideak eskuinetik ezkerrera «hazten» direla irudikatzea eragozten digunik, eta memoria horrela behatzean, *little endian* errepresentazioa «natural ikusten da» eta *big endian* da alderantziz «dirudiena» ikusten dena, beheko irudietan erakusten den bezala.

Goiko irudietan, non 100, 101, 102 eta 103 memoria posizioak ezkerretik eskuinera hazten irudikatzen diren, «badirudi» *big endian* errepresentazioa naturalagoa dela, `AABBCCDD` zenbakia zuzen irakur baitezakegu (ikus irudia); *little endian* errepresentazioan, aldiz, zenbakia alderantziz dagoela dirudi, edo «hankaz gora». Hala ere, ez dago ezer memoria norabideak eskuinetik ezkerrera «hazten» direla irudikatzea eragozten digunik, eta memoria horrela behatzean, *little endian* errepresentazioa «natural ikusten da» eta *big endian* da alderantziz «dirudiena» ikusten dena, beheko irudietan erakusten den bezala.

***Little endian*** (Intel bezala)

***Big endian*** (Motorola bezala)

Makina *little endian* edo *big endian* arkitekturakoa den kontuan hartu gabe, byte bakoitzaren barruko bitak beti ordena berean daude, pisu handieneko bita ezkerrean eta pisu txikienekoa eskuinean. Prozesadorearen erregistroak 4 bitetik 64 bitera bitartekoak izan daitezke, eta gehiago ere bai. Bi makina-motetan, ordena berean dituzte bitak. *Little* eta *big endianen* arteko aldea kanpotik bakarrik existitzen da, byteak memorian irudikatzen diren ordenean.
Makina *little endian* edo *big endian* arkitekturakoa den kontuan hartu gabe, byte bakoitzaren barruko bitak beti ordena berean daude, pisu handieneko bita ezkerrean eta pisu txikienekoa eskuinean. Prozesadorearen erregistroak 4 bitetik 64 bitera bitartekoak izan daitezke, eta gehiago ere bai. Bi makina-motetan, ordena berean dituzte bitak. *Little* eta *big endianen* arteko aldea kanpotik bakarrik existitzen da, byteak memorian irudikatzen diren ordenan.

## Erreferentziak 
## Ikus, gainera 
* Zenbaki-sistema bitarra
* Byte
## Kanpo estekak 
* Zientzia.net atariko artikulua: "Informatikariek bazterrak nahastu zituztenekoa: kilobyteak eta kibibyteak" 
* eu.eyewated.eus webguneko artikulua: "Zer da bit bat ordenagailu sarean?" 
* Zientzia.eus webguneko artikulua: "Garena egiten gaituena, egiten duguna idazteko"