Bit
Artikulu hau hobetzeko lanean ari da Mykx lankidea. Hori dela eta, beharbada hutsuneren batzuk izango dira edukian edo formatuan. Mesedez, aldaketa handi bat egin baino lehen, eztabaida ezazu haren lankide orrian edo artikuluaren eztabaida orrian, erredakzioa koordinatzeko. |
Artikulu hau hobetzeko lanean ari da Aimar9 lankidea. Hori dela eta, beharbada hutsuneren batzuk izango dira edukian edo formatuan. Mesedez, aldaketa handi bat egin baino lehen, eztabaida ezazu haren lankide orrian edo artikuluaren eztabaida orrian, erredakzioa koordinatzeko. |
Artikulu hau hobetzeko lanean ari da Iura1 lankidea. Hori dela eta, beharbada hutsuneren batzuk izango dira edukian edo formatuan. Mesedez, aldaketa handi bat egin baino lehen, eztabaida ezazu haren lankide orrian edo artikuluaren eztabaida orrian, erredakzioa koordinatzeko. |
Bit | |
---|---|
Azpiklasea | Nazioarteko Kantitate Sistema |
Neurtzen du | information (en) ![]() ![]() |
Unitate estandarretan | 0,125 B, 0,69314718055995 nat, 1 bit, 0,0009765625 Kibit eta 0,25 nibble (en) ![]() |
Ikurra | bit, b eta bit |
Bit-a informatikako eta komunikazio digitaleko informazio-unitate oinarrizkoena da.[1] Izena digitu bitar kontzeptuaren akronimo bat da (Bit = Binary digit). 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 +/−.[2]
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.[3] 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.[4] Informazio unitate gisa, bitari shannon ere deitzen zaio, Claude E. Shannonen omenez.[5]
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
[aldatu | aldatu iturburu kodea]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
[aldatu | aldatu iturburu kodea]Bita Binary digit-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.
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
[aldatu | aldatu iturburu kodea]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.[6] Hala ere, "b" letra ere asko erabiltzen da eta IEEE 1541-2002 arauak gomendatu zuen. «B» letra larria, aldiz, bytearen ohiko ikur estandarra da.
Biten multiploak | ||||||
---|---|---|---|---|---|---|
SI aurrizkia | IEC 60027-2 | |||||
Izena (Ikurra) |
SI Estandarra |
Erabilpena informatikan |
Izena (Ikurra) |
Balioa | ||
kilobit (Kb) | 103 | 210 | kibibit (Kib) | 210 | ||
megabit (Mb) | 106 | 220 | mebibit (Mib) | 220 | ||
gigabit (Gb) | 109 | 230 | gibibit (Gib) | 230 | ||
terabit (Tb) | 1012 | 240 | tebibit (Tib) | 240 | ||
petabit (Pb) | 1015 | 250 | pebibit (Pib) | 250 | ||
exabit (Eb) | 1018 | 260 | exbibit (Eib) | 260 | ||
zettabit (Zb) | 1021 | 270 | zebibit (Zib) | 270 | ||
yottabit (Yb) | 1024 | 280 | yobibit (Yib) | 280 |
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 (ingelesez: octet) 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).[7]
Bit-en konbinazioak
[aldatu | aldatu iturburu kodea]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
[aldatu | aldatu iturburu kodea]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:
Mota | Ikur militarra | Ikur errektangularra | Booleren aljebra A eta B artean | Egia taula | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
ETA
(AND) |
![]() |
![]() |
| |||||||||||||||||||
EDO
(OR) |
![]() |
![]() |
| |||||||||||||||||||
EZ
(NOT) |
![]() |
![]() |
| |||||||||||||||||||
EZ-ETA
(NAND) |
![]() |
![]() |
| |||||||||||||||||||
EZ-EDO
(NOR) |
![]() |
![]() |
| |||||||||||||||||||
ALA
(XOR) |
![]() |
![]() |
| |||||||||||||||||||
EZ-ALA
(XNOR) |
![]() |
![]() |
|
Little endian eta big endian
[aldatu | aldatu iturburu kodea]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).[8]
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)
100
|
101
|
102
|
103
|
||
...
|
DD
|
CC
|
BB
|
AA
|
...
|
Big endian (Motorola bezala)
100
|
101
|
102
|
103
|
||
...
|
AA
|
BB
|
CC
|
DD
|
...
|
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)
103
|
102
|
101
|
100
|
||
...
|
AA
|
BB
|
CC
|
DD
|
...
|
Big endian (Motorola bezala)
103
|
102
|
101
|
100
|
||
...
|
DD
|
CC
|
BB
|
AA
|
...
|
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
[aldatu | aldatu iturburu kodea]- ↑ Mackenzie, Charles E. (1980). Coded Character Sets, History and Development (PDF). The Systems Programming Series (1 ed.). Addison-Wesley Publishing Company, Inc. p. x. ISBN 978-0-201-14460-4. LCCN 77-90165. Archived (PDF) from the original on May 26, 2016. Retrieved August 25, 2019.
- ↑ Arbelaitz Gallego, Olatz; Ruiz Vazquez, Txelo; Arregi Uriarte, Olatz; Arruabarrena Frutos, Agustin; Etxeberria Uztarroz, Izaskun; Ibarra Lasa, Amaia. (2005). Sistema digitalen diseinu-hastapenak: Oinarrizko kontzeptuak eta adibideak. UEU ISBN 978-84-8438-069-6. (Noiz kontsultatua: 2021-02-10).
- ↑ «Origins of the Term "BYTE"» web.archive.org 2017-04-03 (Noiz kontsultatua: 2025-01-25).
- ↑ Anderson, John B.; Johnnesson, Rolf (2006), Understanding Information Transmission
- ↑ «Units: B» www.unc.edu (Noiz kontsultatua: 2025-01-25).
- ↑ National Institute of Standards and Technology (2008), Guide for the Use of the International System of Units. Online version. Archived 3 June 2016 at the Wayback Machine
- ↑ "ISO/IEC 2382-1:1993(en) Information technology — Vocabulary — Part 1: Fundamental terms". p. 01.02.09. www.iso.org.
- ↑ «Microsoft KB Archive/102025 - BetaArchive Wiki» www.betaarchive.com (Noiz kontsultatua: 2025-01-25).