Bajt

http://upload.wikimedia.org/wikipedia/commons/thumb/3/3b/MicroDrive1GB.jpg/220px-MicroDrive1GB.jpg

IBM Microdrive o kapacitě 1 GB

Bajt, původním, anglickým zápisem byte, zřídka také slabika, je jednotka množství dat v informatice. Označuje osm bitů, tzn. osmiciferné binární číslo. Takové množství informace může reprezentovat například celé číslo od 0 do 255 nebo jeden znak. Jeden bajt je obvykle nejmenší objem dat, se kterým dokážepočítač (resp. procesor) přímo pracovat. U velmi starýcharchitektur může 1 bajt označovat jiný počet bitů. Proto se v mnohých standardech používá místo termínu bajt termín oktet.

Historie

Termín "byte" zavedl Werner Buchholz v roce 1956, při práci na počítači IBM Stretch. Zpočátku tento termín popisoval skupinu 1–6 bitů, přechod na osmibitový bajt se udál ke konci roku a později se osmibitový bajt stal standardem pro počítač System/360; jeho popularita pak vedla k tomu, že osmibitový bajt je dnes standardem.

Slovo byte pochází z anglického slova bite (sousto, tzn. nejmenší objem dat, který počítač dokáže „přechroustat“), které bylo upraveno, aby se předešlo záměně se slovem bit.

Velikost

U prakticky všech dnešních počítačů obsahuje 1 bajt právě 8 bitů. V dřívějších architekturách se vyskytovaly bajty o velikostech např. 6, 7 či 9 bitů (počítač PDP-10 měl dokonce nastavitelnou délku bajtu v rozmezí 1–36 bitů).

Z důvodu jednoznačnosti se ve formálních specifikacích pro posloupnost právě osmi bitů používá termínoktet (angl. octet). S oktetem se často setkáváme v oboru počítačových sítí, místo termínu bajt se používá také ve frankofonních zemích a v Rumunsku.

Do jednoho bajtu je možno uložit celkem 2n různých hodnot, kde n je velikost bajtu v bitech. Pro osmibitový bajt to znamená 256 hodnot, tedy např. přirozená čísla v rozsahu 0–255. Tyto hodnoty lze vyjádřit pomocí dvou hexadecimálních číslic (00H–FFH).

Reprezentace znaků

Do bajtu lze uložit 256 různých hodnot, což bohatě stačí pro rozlišení velkých i malých písmen anglické abecedy včetně číslic a základních interpunkčních znamének. Bajt proto zpočátku mohl sloužit pro uložení jednoho znaku textu. Způsob kódování znaku na číselnou hodnotu, kterou bylo možno uložit do bajtu, popisoval například kód ASCII. Tento kód však vůbec neobsahuje znaky s diakritickými znaménkypoužívané v jiných jazycích. Rozšířené verze kódu pak přidávají různé znaky užívané v evropských zemích. Postupně vzniklo několik takových kódování, označovaných jako znakové sady, přičemž všechny byly nevyhnutelně vzájemně nekompatibilní. 256 možností je totiž příliš málo pro rozlišení všech znaků používaných v jazycích píšících latinkou, nemluvě o dalších abecedách (jako např. ruštinačínština,japonština či korejština). Z toho důvodu vznikla vícebajtová kódování znaků, ve kterých však jeden znak už neodpovídá jednomu bajtu. Dnes používaná tabulka znaků Unicode používá nejčastěji dvou- či čtyřbajtová kódování s pevnou délkou (UTF-32, výjimečně UCS-2) či kódování s proměnlivou délkou, u kterých různé znaky zabírají různé počty bajtů (UTF-8UTF-16).

Značení

Pokud se bajt používá jako jednotka informace, značí se zpravidla velkým písmenem B, zatímco malým bse značí bit; tak definuje značky také norma IEEE 1541. Velké B se však užívá v soustavě SI pro jednotkuhladinu akustického tlaku bel (a navíc jsou značky začínající velkým písmenem v soustavě SI vyhrazeny pro jednotky odvozené ze jmen osob; bajt však do této soustavy nepatří). Pro co nejvyšší jednoznačnost se proto bit někdy nezkracuje a ponechává se jako „bit“ (např. Mbit/s pro megabit za sekundu), tak to specifikuje také norma IEC 60027.

Ve frankofonních zemích se někdy pro bajt používá značka o jako octet, včetně příslušných předpon pro násobky (např. „ko“, „Mo“).

Násobky a užívané předpony

Související informace naleznete v článku Binární předpona.

S bajty i bity se používají běžné předpony soustavy SI jako kilo-, mega-, giga- atd., např. 10 GB, 11 Mb/s. Tyto předpony však mají někdy odlišný význam, který je nutno rozlišit z kontextu.

Z technologických důvodů jsou velikosti některých počítačových pamětí obvykle násobkem nějaké mocniny dvou. Například počítač IBM PC Model 5150 měl kapacitu operační paměti 65 536 B = 64·210.[1] Pro zjednodušení se však taková paměť neoznačovala jako 65,5 kilobajt, ale pojem kilobajt se „mírně“ upravil na 210 = 1024 a kapacita paměti se označila prostě jako 64 KB. Pro odlišení se tato jednotka zpravidla značila s velkým písmenem – KB – a neformálně se označovala jako „velké kilo“, na rozdíl od tradičně pojatého kilobajtu, tzv. „malého kila“, které se značilo malým písmenem – kB. Obdobně se později začaly užívat další upravené předpony mega-, giga- atd. (u těch už kontext podle velikosti písmena rozlišit nelze) označující 220, 230 atd.

Takto upravené předpony se používají zejména při vyjadřování velikosti polovodičových pamětí, zatímco například kapacity pevných disků používají dekadické předpony. Bez znalosti kontextu tedy může být složité určit, jaký význam byl zamýšlen, přičemž rozdíl může dosahovat až několika procent (nejasnosti kolem skutečné kapacity prodávaných pamětí dokonce vedly k právním sporům[2]).

V prosinci 1998 proto IEC vytvořila dodatek k normě IEC 60027-2 (v Česku převzatá jako ČSN IEC 60027-2), ve kterém zavedla pro počítačové jednotky nový systém označování násobků. V tomto systému bylo pro původní „velké kilo“ = 1024 B navrženo označení kibibajt a značka KiB, zatímco jednotka kilobajt (se značkou kB) označuje 1000 B, tak jak je obvyklé v soustavě SI.

Přehled násobných jednotek

Jednotka

Značka

B

kB

KiB

MB

MiB

GB

GiB

TB

TiB

Kilobajt

kB

1000

1

~0,9766

 

 

 

 

 

 

Kibibajt

KiB

1024

1,024

1

 

 

 

 

 

 

Megabajt

MB

1 000 000

1000

~976,6

1

~0,9537

 

 

 

 

Mebibajt

MiB

1 048 576

~1048,6

1024

1,049

1

 

 

 

 

Gigabajt

GB

109

1 000 000

976 562,5

1000

953,7

1

~0,9313

 

 

Gibibajt

GiB

~1,074·109

~1 073 742

1 048 576

~1073,7

1024

1,074

1

 

 

Terabajt

TB

1012

109

~0,9766·109

1 000 000

~953 674,3

1000

931,3

1

~0,9095

Tebibajt

TiB

~1,1·1012

~1,1·109

~1,074·109

~1 099 512

1 048 576

~1099,5

1024

~1,1

1

 

Binární násobky

Jednotka

Značka

Velikost v B (bajtech)

Mocnina

Kibibajt

KiB

1 024

210

Mebibajt

MiB

1 048 576

220

Gibibajt

GiB

1 073 741 824

230

Tebibajt

TiB

1 099 511 627 776

240

Pebibajt

PiB

1 125 899 906 842 624

250

Exbibajt

EiB

1 152 921 504 606 846 976

260

Zebibajt

ZiB

1 180 591 620 717 411 303 424

270

Yobibajt

YiB

1 208 925 819 614 629 174 706 176

280