Bity a bajty

V této kapitole se dozvíš, že IT je velice lidský obor, protože jsou v něm historicky ustanovená strašně rozbordelená a nelogická pravidla, protože někdo kdysi měl nápad, kterého se všichni chytli než se zjistilo, že ten nápad zas tak dobrej nebyl. Pokud trpíš OCD zatni zuby.

bit

  • bit: hodnota 0 nebo 1
  • X bitů: toto může znamenat 2 věci, záleží na kontextu
    • šířka možných hodnot (5 bitový = rozsah od 00000 do 11111)
    • hodnota s konkrétní šířkou X (5 bitů = hodnota mezi 00000 a 11111)

Když v češtině řeknete počet bitů přídavným jménem („5 bitový“) pak jde zpravidla o označení šířky možných hodnot. Pokud podstatným jménem („5 bitů“) pak jde zpravidla o hodnotu. V angličtině („5 bits“) je hodnota a („5 bit“) je rozsah.

byte (čti: [bajt])

Byte = 8 bitů. Proč 8?

Historická věc. Klidně to mohlo být 10, lidi odjakživa počítají po 10 protože mají 10 prstů. Existovaly i jiný alternativy, někde byl bajt 7, někde 6, někde 12 bitů.

Převládlo 8 protože bity jsou hezky matematicky svázané s rovnicí 2x.

  • 8 bitový rozsah (8 = 23)
  • 8 bitá hodnota = 28 (0 – 255)

To se pak hezky kombinuje: když přidáte dalších 8 drátů tak máte celkem 16 drátů = 24 bitů. Fakt to nemá žádnej jinej důvod. Lidé mají rádi, když věci do sebe hezky zapadaj.

Moderní počítače pracují se 64 bitovými velikostmi ale „8 bitový bajt“ je tak silná historická konvence, že se výroba počítačů podřizuje počtu bajtů místo toho, aby vymýšlela novou definici bajtu.

kilobajt, megabajt, gigabajt…

Žádný „dekabajt“ neexistuje ale „kilo/mega/giga/tera/peta“ – bajty už jo.

V IT je totální bordel v jednotkách vyjadřující množství dat.

kilobajt = 1024 bajtů

Kolik by měl být kilobajt? „Kilo“ znamená 1000, stejně jako „kilometr“ znamená 1000 metrů.

Ale….proč by to mělo být 1000 když 1024 je tak hezký číslo, které odpovídá 210? Úplně ta samá logika vyhrála u bajtu. A proto velmi častý způsob vyjádření množství dat je dle násobitele 1024. Tuto logiku používá operační systém Windows.

  • kilobajt (kB) = 1024 bajtů
  • megabajt (MB) = 1024 kilobajtů
  • gigabajt (GB) = 1024 megabajtů
  • atd.

kilobajt = 1000 bajtů

Ne každému se toto líbilo. Velmi často se jednotky počítají i „desítkově“.

  • kilobajt (kB) = 1000 bajtů
  • megabajt (MB) = 1000 kilobajtů
  • gigabajt (GB) = 1000 megabajtů

„kibibajt“ = 1000 bajtů

Do toho mezinárodní instituce (ISO) zakřičela: „Vážení ajťáci, vy jste fakt kokoti že si v tom nedokážete udělat pořádek, takže my vám řeknem, jak byste to měli používat“ a místo toho, aby určili jeden oficiální způsob tak přidali třetí. Podle nich musí lidé, co používají exponent 1024, ve druhé slabice používat „bi“.

  • kibibajt (kiB) = 1024 bajtů
  • mebibajt (MiB) = 1024 kibibajtů
  • gibibajt (GiB) = 1024 mebibajtů

Nikdy jsem nikoho neslyšel mluvit o „kibi“ nebo „mebi“ nebo „gibi“bajtech a myslim, že by na mě koukali jak na idiota kdybych na nějakým pohovoru řekl, že „jeden mebibajt má 1024 kibibajtů“. Je ale dobrý o tom vědět protože tu a tam narazíš na zkratku „kiB“ nebo „MiB“.

kilobit = 1000 bitů

Bohužel ještě existuje čtvrtý, také velmi často používaný zápis a to přímo nad bity, ne nad bajty. Bity a bajty se rozlišují velikostí písmena ale málokdo to používá správně.

MB = megabajt
Mb = megabit

Internetový provideři hrozně rádi slibují 100MB internet až do domu, jenže 100MB není 100 megabajtů ani 100 mibibajtů ale 100 megabitů — tzn. 100Mb = 100 milionů bitů.

To je úplně jiná hodnota.

  • 1 kilobit = 1000 bitů
  • 1 megabit = 1000 kilobitů
  • 100 megabitů = 100000 kilobitů = 12500000 bajtů (100000000/8)
    = 11,92 megabajtů (nebo 12,5 mibibajtů)

Mobilní operátoři a internetoví provideři používají tento zápis pro vyjádření rychlost internetu a kapitalizují na tom, že běžní uživatelé znají pouze první nebo druhý způsob zápisu.

Shrnutí

  • Bit je 0 nebo 1
  • Byte (bajt) je 8 bitů
  • 1 kB je někdy 1024 bajtů, někdy 1000 bajtů…
  • 1 kiB by vždy mělo být 1000 bajtů
  • 1 MB by mělo znamenat megabajt ale někdy to znamená megabit (1 Mb)