Bajt
Jednostka spoza SI · wielkość: ilość informacji
01 · Definicja
Słowo wymyślił inżynier IBM Werner Buchholz w 1956 roku, celowo zniekształcając bite, żeby nie mylić z bit. Osiem bitów w bajcie utrwaliło się dopiero z System/360 w 1964 roku.
Bajt to osiem bitów, czyli 256 rozróżnialnych stanów. To najmniejsza adresowalna komórka pamięci w każdym dzisiejszym procesorze: pojedynczego bitu odczytać nie można, czyta się całą komórkę. Ósemki nie wybrała fizyka, lecz wygoda: potęga dwójki, starcza na alfabet łaciński z cyframi i znakami, dzieli się na dwie cyfry szesnastkowe. Bajt mieści znak ASCII, ale nie literę cyrylicy w UTF-8 — tam trzeba dwóch, a emoji zajmuje cztery.
W UTF-8 litera łacińska zajmuje jeden bajt, cyrylicka dwa, znak pisma trzy, emoji cztery. Znak nie jest więc bajtem: długość łańcucha w znakach i jego długość w bajtach to różne liczby, a ich pomylenie jest najczęstszą przyczyną zepsutego tekstu.
02 · Przeliczanie
Wpisz objętość — karta ją przeliczy
Bajt odziedziczył po bicie podwójny układ przedrostków. Kilobajt dziesiętny to tysiąc bajtów, kibibajt dwójkowy 1024. Wytwórcy dysków liczą w dziesiętnych, systemy operacyjne w dwójkowych — stąd «brakujące» gigabajty na każdym nowym dysku.
Dyski przez dziesięciolecia pracowały sektorami po 512 bajtów, dzisiejsze po 4096. System plików nie czyta mniej niż sektor, więc plik jednobajtowy zajmuje cały.
| Jednostka | Nazwa | Wartość | Gdzie występuje |
|---|---|---|---|
| B | bajt, osiem bitów | 1000 | zapis podstawowy |
| bit | bit | 8000 | kanał, szybkość |
| kB | kilobajt, 1000 bajtów | 1 | przedrostek dziesiętny |
| MB | megabajt, 10⁶ bajtów | 0,001 | pliki, zdjęcia |
| GB | gigabajt, 10⁹ bajtów | 1·10⁻⁶ | dyski, nośniki |
| TB | terabajt, 10¹² bajtów | 1·10⁻⁹ | magazyny |
| KiB | kibibajt, 1024 bajty | 0,9766 | pamięć, systemy plików |
| MiB | mebibajt, 1024 kibibajty | 9,537·10⁻⁴ | pamięć operacyjna |
| GiB | gibibajt, 1024 mebibajty | 9,313·10⁻⁷ | systemy operacyjne |
| TiB | tebibajt, 1024 gibibajty | 9,095·10⁻¹⁰ | macierze dyskowe |
| B6 | bajt sześciobitowy | 1333 | przed System/360 |
| B | bajt | 1000 | zapis dzisiejszy |
Przedrostki dziesiętne biorą tysiąc, dwójkowe 1024 i pisze się je z «i»: KiB, MiB, GiB. Dysk o pojemności terabajta zawiera 10¹² bajtów, a system pokazuje je jako 931 GiB: obie strony liczą dobrze, tylko w innych przedrostkach.
03 · Rzędy wielkości
od znaku do centrum danychFotografia — 4 MB
04 · Przyrządy pomiarowe
Czym liczy się bajty
Pojemność na opakowaniu liczy się w gigabajtach dziesiętnych, system plików liczy w dwójkowych. Żadna strona nikogo nie oszukuje, ale kupujący widzi liczbę mniejszą niż nadrukowana na etykiecie.
Tu przedrostki dwójkowe są uczciwe: moduł 16 GB zawiera dokładnie 16 gibibajtów, bo adresowanie zawsze idzie potęgami dwójki.
Dostawca sprzedaje megabity, program pobierający pokazuje megabajty. Dzielcie przez osiem: 100 Mbit/s daje około 12 MB/s.
Pokazuje plik bajt po bajcie: po lewej kody, po prawej znaki. Tak czyta się formaty bez dokumentacji i odkrywa, gdzie kończy się nagłówek.
05 · Zasady zapisu
B wielkie, k w kilobajcie małe
Kilobajt dziesiętny pisze się kB z małym k, jak wszystkie przedrostki SI poniżej mega. Wielkie B to bajt, małe b to bit, a różnica między nimi jest ośmiokrotna. Przedrostki dwójkowe pisze się z «i» i wielką literą początkową: KiB, MiB, GiB.
W rosyjskim słowo bajt nie zmienia się w liczbie mnogiej po liczebniku: pisze się 512 byte, nigdy formy mnogiej. Symbol B też nie przyjmuje końcówki przypadka — to symbol, a nie skrót.
06 · Jednostki sąsiednie
Bajt stoi na bicie i żyje grupami: półbajt z czterech bitów odpowiada jednej cyfrze szesnastkowej, dwa bajty liczbie krótkiej, cztery adresowi, osiem długiej. Słowo maszynowe to całkowita liczba bajtów, a ich liczba zdradza architekturę.
Cztery bajty dają cztery miliardy stanów — starczyło to na wszystkie adresy IPv4 i właśnie dlatego się skończyły.
07 · Dział historyczny
Bajty, które nie miały ośmiu bitów
Na maszynie, gdzie słowo się narodziło, długość bajtu zadawała instrukcja: od jednego do ośmiu bitów. Ósemka była tylko maksimum.
Starczało na wielkie litery łacińskie, cyfry i znaki — małych liter w tych systemach po prostu nie było. Słowo z 1 bitu dzieliło się na sześć takich znaków.
Pierwotne kodowanie było siedmiobitowe: 128 znaków. Ósme miejsce służyło kontroli parzystości i dopiero później weszło do kodu, dając miejsce alfabetom narodowym.
Maszyny ze słowem 36-bitowym dzieliły je czasem na cztery części po dziewięć bitów. Standard System/360 stopniowo wyparł wszystkie odmiany.
Ośmiu bitów nie wybrała fizyka, lecz handlowa decyzja jednej firmy
Przed 1964 rokiem bajt był czymkolwiek: sześć bitów w CDC, siedem w dalekopisach, dziewięć na maszynach ze słowem 36-bitowym, dowolna długość na IBM Stretch. Wybierając rozmiar dla System/360, IBM zatrzymała się na ośmiu — potęga dwójki, mieści się w dwóch cyfrach szesnastkowych i starcza zarówno na alfabet łaciński z kodami sterującymi, jak i na zapas znaków narodowych. Sukces linii uczynił ósemkę standardem faktycznym, a IEC ustaliła ją dopiero w 2008 roku, czterdzieści cztery lata później. Formalnie normy mają osobne słowo na «dokładnie osiem bitów» — oktet — i specyfikacje sieciowe piszą właśnie je, by wykluczyć wszelką dwuznaczność.
Katalog · jednostki miary
Karta dla każdej wielkości
Siedem jednostek podstawowych SI, dwadzieścia dwie pochodne z własnymi nazwami, a obok nich jednostki spoza układu. Każda ma swoją kartę: definicja, wymiar, przeliczanie, przyrządy, zasady zapisu. W 14 językach.