Байт
Внесистемная единица · величина: количество информации
01 · Определение
Слово придумал инженер IBM Вернер Бухгольц в 1956 году, нарочно исказив bite, чтобы не путать с bit. Восемь бит в байте закрепились только с System/360 в 1964-м.
Байт — восемь бит, то есть 256 различимых состояний. Это минимальная адресуемая ячейка памяти в любом современном процессоре: считать один бит нельзя, читается вся ячейка. Восьмёрка выбрана не физикой, а удобством: степень двойки, хватает на латиницу с цифрами и знаками, делится на две шестнадцатеричные цифры. Байт удерживает символ ASCII, но не букву кириллицы в UTF-8 — там нужно два, а эмодзи занимает четыре.
В UTF-8 латинская буква занимает один байт, кириллическая — два, иероглиф — три, эмодзи — четыре. Поэтому длина строки в символах и её размер в байтах — разные числа, и путаница между ними до сих пор ломает поля ввода.
02 · Пересчёт
Введите объём — паспорт пересчитает
Байт унаследовал двойную систему приставок от бита. Десятичный килобайт — тысяча байт, двоичный кибибайт — 1024. На гигабайте расхождение доходит до семи процентов, на терабайте — почти до девяти.
Диски десятилетиями работали секторами по 512 байт, современные — по 4096. Файл в один байт всё равно занимает целый сектор, поэтому «размер на диске» всегда больше фактического.
| Единица | Название | Значение | Где встречается |
|---|---|---|---|
| B | байт, восемь бит | 1000 | основная запись |
| bit | бит | 8000 | канал, скорость |
| kB | килобайт, 1000 байт | 1 | десятичная приставка |
| MB | мегабайт, 10⁶ байт | 0,001 | файлы, снимки |
| GB | гигабайт, 10⁹ байт | 1·10⁻⁶ | диски, носители |
| TB | терабайт, 10¹² байт | 1·10⁻⁹ | хранилища |
| KiB | кибибайт, 1024 байта | 0,9766 | память, файловые системы |
| MiB | мебибайт, 1024 кибибайта | 9,537·10⁻⁴ | оперативная память |
| GiB | гибибайт, 1024 мебибайта | 9,313·10⁻⁷ | операционные системы |
| TiB | тебибайт, 1024 гибибайта | 9,095·10⁻¹⁰ | дисковые массивы |
| B6 | шестибитный байт | 1333 | до System/360 |
| B | байт | 1000 | современная запись |
Десятичные приставки берут тысячу, двоичные — 1024 и пишутся с «i»: KiB, MiB, GiB. Диск на терабайт содержит 10¹² байт, а система показывает их как 931 GiB: обе стороны считают верно, просто в разных приставках.
03 · Порядки величин
от символа до дата-центраФотография — 4 MB
04 · Приборы измерения
Чем считают байты
Ёмкость на упаковке считают в десятичных гигабайтах, файловая система — в двоичных. Отсюда «пропавшие» проценты при первом включении.
Здесь двоичные приставки честны: модуль на 16 GB содержит ровно 16 гибибайт, потому что адресация всегда по степеням двойки.
Провайдер продаёт мегабиты, загрузчик показывает мегабайты. Делите на восемь: 100 Mbit/s дают около 12 MB/s.
Показывает файл байт за байтом: слева коды, справа символы. Так читают форматы, ищут подписи и правят данные вручную.
05 · Правила записи
B заглавная, k в килобайте строчная
Десятичный килобайт пишется kB со строчной k, как все приставки СИ ниже мега. Двоичный — KiB, и здесь K заглавная по стандарту IEC. Заглавная B всегда означает байт: MB и Mb различаются в восемь раз, и подмена в спецификации канала или диска — типичная ошибка.
В русском языке «байт» во множественном числе после числительного не изменяется: 512 байт, 40 гигабайт. Форма «байтов» допустима вне числового контекста: «несколько байтов данных».
06 · Соседние единицы
Байт стоит на бите и живёт группами: полубайт из четырёх бит соответствует одной шестнадцатеричной цифре, машинное слово — двум, четырём или восьми байтам в зависимости от архитектуры.
Четыре байта дают четыре миллиарда состояний — этого хватило на все адреса IPv4, и именно поэтому они закончились.
07 · Исторический раздел
Байты, в которых было не восемь бит
На машине, где слово родилось, длина байта задавалась инструкцией: от одного до восьми бит. Восьмёрка была лишь максимумом.
Хватало на заглавную латиницу, цифры и знаки — строчных букв в этих системах просто не было. Слово из 14 бит делилось на шесть таких символов.
Исходная кодировка была семибитной: 128 символов. Восьмой разряд шёл на контроль чётности, а позже стал местом для национальных алфавитов.
Машины с 36-разрядным словом иногда делили его на четыре части по девять бит. Стандарт System/360 постепенно вытеснил все варианты.
Восемь бит выбрала не физика, а коммерческое решение одной компании
До 1964 года байт был чем угодно: шесть бит у CDC, семь в телетайпах, девять на машинах с 36-разрядным словом, произвольная длина на IBM Stretch. Выбирая размер для System/360, IBM остановилась на восьми — степень двойки, укладывается в две шестнадцатеричные цифры, хватает и на латиницу с управляющими кодами, и на запас для национальных символов. Успех линейки сделал восьмёрку де-факто стандартом, а IEC закрепила её лишь в 2008 году, спустя сорок четыре года. Формально в стандартах для «ровно восьми бит» существует отдельное слово — октет, и в сетевых спецификациях пишут именно его, чтобы исключить любую двусмысленность.
Каталог · единицы измерения
Паспорт на каждую величину
Семь базовых единиц СИ, двадцать две производные с собственными именами и внесистемные единицы, без которых не обходится ни техника, ни быт. Каждая — отдельный лист: определение, пересчёт, приборы, правила записи. На 33 языках.