Bajt

jednotka množství dat v informatice

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é čísloplovoucí čárkou nebo písmeno české abecedy v mezinárodním standardu Unicode.

IBM Microdrive o kapacitě 1 GB

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 editovat

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 editovat

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ů editovat

Podrobnější informace naleznete v článku Kódování 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í editovat

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 editovat

Související informace naleznete také 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.[zdroj⁠?] 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. 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.

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

Reference editovat

  1. IBM PC Model 5150 Archivováno 21. 11. 2010 na Wayback Machine. na old-computers.com
  2. Western Digital Settles Hard-Drive Capacity Lawsuit Archivováno 30. 3. 2013 na Wayback Machine., FOXNews.com, 28. 6. 2006

Související články editovat

Externí odkazy editovat