Bajt

Bajt, původním, anglickým zápisem byte, zřídka také slabika, je v informatice základní jednotka kapacity počítačové paměti a objemu počítačových dat. Označuje zpravidla osm bitů, které tvoří osmiciferné binární číslo v rozmezí 0–255. V digitálních systémech se informace převádí (kódují) na posloupnost bajtů, aby mohly být uloženy a počítačově zpracovány. Jeden bajt může představovat různé množství informací, například jedno celé číslo v uvedeném rozmezí nebo jedno písmeno či znak ze základní sady ASCII. V jiných případech je jedna informace zaznamenána více bajty, například reálné číslo s plovoucí čárkou nebo písmeno české abecedy v mezinárodním standardu Unicode.

Jeden bajt je obvykle nejmenší objem dat, se kterým dokáže počítač (resp. procesor) přímo (najednou) pracovat. U velmi starých architektur mohl 1 bajt (resp. jedno slovo) označovat jiný počet bitů (například 4, 7 nebo 10). Proto se v mnohých standardech používá místo termínu bajt termín oktet (například síťové protokoly nebo formáty souborů nebo různé architektury počítačů).

V současnosti je bajt kodifikovaný v mezinárodním standardu ISO/IEC 80000-13:2008.

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ů (strojový kód s osmi číslicemi 1111 1111) – plný bajt). 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ín oktet (angl. octet). S oktetem se často setkáváme v oboru počítačových sítí, jako překlad anglického byte 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ř. celá čísla v rozsahu 0–255, které 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, popisovaly například kódy ASCII či EBCDIC. Původní kód ASCII však vůbec neobsahuje znaky s diakritickými znaménky použí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 písmech (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 kódování s proměnlivou délkou, u kterých různé znaky zabírají různé počty bajtů (v UTF-8 1–4 bajty, v UTF-16 2 nebo 4 bajty), případně kódování s pevnou délkou čtyř bajtů (UTF-32) anebo spíše historické dvoubajtové kódování UCS-2 podporující jen omezenou množinu znaků.

Značení 
Pokud se bajt používá jako jednotka informace, značí se zpravidla velkým písmenem B, zatímco malým b se značí bit; tak definuje značky také norma IEEE 1541. Velké B se však užívá v soustavě SI pro jednotku hladinu 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 

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

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. Nové binární předpony (kibi-, mebi-, gibi-, …) jsou definované také v normě ISO/IEC 80000.

Pro převod z kilobajtů na kibibajty je potřeba násobit příslušnou mocninou  (např. 5 MB = 5 × 106 / 220 MiB), pro opačný převod se musí takovým koeficientem dělit.

Reference

Související články 
 Bit
 Slovo
 Nibble

Externí odkazy 
 
 
 
 Byte ve slovníku hackerského žargonu (anglicky)

Počítačová terminologie
Jednotky informace