Байт

Байт (англ. byte) (русское обозначение: байт и Б; международное: B, byte)[1] — единица хранения и обработки цифровой информации; совокупность битов, обрабатываемая компьютером одновременно. В современных вычислительных системах байт состоит из 8 бит и, соответственно, может принимать одно из 256 (от 0 до 255) различных значений (состояний, кодов). Однако в истории компьютерной техники существовали решения с иными размерами байта (например, 6, 32 или 36 бит), поэтому иногда в компьютерных стандартах и официальных документах для однозначного обозначения группы из 8 бит используется термин «октет» (лат. octet).

В большинстве вычислительных архитектур байт — это минимальный независимо адресуемый набор данных.

Название «байт» было впервые использовано в июне 1956 года В. Бухгольцем (англ. Werner Buchholz) при проектировании первого суперкомпьютера IBM 7030 Stretch для пучка одновременно передаваемых в устройствах ввода-вывода битов числом от одного до шести. Позже, в рамках того же проекта, байт был расширен до восьми бит. Слово byte было выбрано как намеренно искажённое слово bite, произносящееся так же (англ. bite — «кусок»; «часть чего-либо, отделённая за один укус»; ср. также появившееся позже название для 4-битной единицы «ниббл» от англ. nibble — «покусывать»). Изменённое написание byte через y вместо i потребовалось, чтобы избежать смешения со словом «бит» (bit)[2]. В печати слово byte впервые появилось в июне 1959 года[3].

Ряд ЭВМ 1950-х и 1960-х годов (БЭСМ-6, М-220) использовали 6-битные символы в 48-битных или 60-битных машинных словах. В некоторых моделях ЭВМ производства Burroughs Corporation (ныне Unisys) размер символа был равен 9 битам. В советской ЭВМ Минск-32 использовался 7-битный байт.

Байтовая адресация памяти была впервые применена в системе IBM System/360. В более ранних компьютерах адресовать можно было только целиком машинное слово, состоявшее из нескольких байтов, что затрудняло обработку текстовых данных.

8-битные байты были приняты в System/360, вероятно, из-за использования BCD-формата представления чисел: одна десятичная цифра (0−9) требует 4 бита (тетраду) для хранения; один 8-битный байт может представлять две десятичные цифры. Байты из 6 бит могут хранить только по одной десятичной цифре, два бита остаются незадействованными.

По другой версии, 8-битный размер байта связан с 8-битным же числовым представлением символов в кодировке EBCDIC.

По третьей версии, из-за двоичной системы кодирования в компьютерах наиболее выгодными для аппаратной реализации и удобными для обработки данных являются длины слов, кратные степеням двойки, в том числе и 1 байт = 23 = 8 бит. Системы и компьютеры с длинами слов, не кратными числу 2, отпали из-за невыгодности и неудобства.

Постепенно 8-битные байты стали стандартом де-факто; с начала 1970-х в большинстве компьютеров байты состоят из 8 бит, а размер машинного слова кратен 8 битам.

Количество состояний (кодов, значений), которое может принимать 1 восьмибитный байт с позиционным кодированием, определяется в комбинаторике. Оно равно количеству размещений с повторениями и вычисляется по формуле:

для байта применяются не как обычно. Уменьшительные приставки не используются совсем, а единицы измерения информации, меньшие, чем байт, называются специальными словами — ниббл (тетрада, полубайт) и бит. Увеличительные приставки кратны либо 1024 = 210, либо 1000 = 103: 1 кибибайт равен 1024 байтам, 1 мебибайт — 1024 кибибайтам или 1024×1024 = 1 048 576 байтам и т. д. для гиби-, теби- и пебибайтов. В свою очередь 1 килобайт равен 1000 байтам, 1 мегабайт — 1000 килобайтам или 1000×1000 = 1 000 000 байтам и т. д. для гига-, тера- и петабайт. Разница между ёмкостями (объёмами), выраженными в кило = 103 = 1000 и выраженными в киби = 210 = 1024, возрастает с ростом веса приставки. МЭК рекомендует использовать двоичные приставки — кибибайт, мебибайт, йобибайт и т. п.

Иногда десятичные приставки используются и в прямом смысле, например, при указании ёмкости жёстких дисков: у них гигабайт (гибибайт) может обозначать не 1 073 741 824 = 10243 байтов, а миллион килобайтов (кибибайтов), то есть 1 024 000 000 байтов, а то и просто миллиард байтов.

Использование русской прописной буквы «Б» для обозначения байта регламентирует Межгосударственный (СНГ) стандарт ГОСТ 8.417-2002[4] («Единицы величин») в «Приложении А» и Постановление Правительства РФ от 31 октября 2009 г. № 879. Кроме того, констатируется традиция использования приставок СИ вместе с наименованием «байт» для указания множителей, являющихся степенями двойки (1 Кбайт = 1024 байт, 1 Мбайт = 1024 Кбайт, 1 Гбайт = 1024 Мбайт и т. д., причём вместо строчной «к» используется прописная «К»), и упоминается, что подобное использование приставок СИ не является корректным. По ГОСТ IEC 60027-2-2015 строчная «к» соответствует 1000 и «Ки» — 1024, так 1 КиБ = 1024 Б, 1 кБ = 1000 Б.

Использование прописной буквы «Б» для обозначения байта соответствует требованиям ГОСТ и позволяет избежать путаницы между сокращениями от байт и бит. Запись со строчной буквой в виде «Кб» (Мб, Гб) для обозначения байта будет не соответствовать международному стандарту IEC (и локализованному по нему ГОСТ). Однако авторы орфографического словаря[5] приводят строчную форму «б» (и «Кб», «Мб», «Гб») для байта, как не образованную от фамилии.

Следует учитывать, что в ГОСТ 8.417, кроме «бит», для бита нет однобуквенного обозначения, поэтому использование записи вроде «Мб» как синонима для «Мбит» не соответствует этому стандарту. Но в некоторых документах используется сокращение b для bit: IEEE 1541-2002, IEEE Std 260.1-2004, в нижнем регистре: ГОСТ Р МЭК 80000-13—2016, ГОСТ IEC 60027-2-2015.

В международном стандарте МЭК IEC 60027-2 от 2005 года[6] для применения в электротехнической и электронной областях рекомендуются обозначения:

Кроме обычной формы родительного падежа множественного числа (байтов, килобайтов, битов) существует счётная форма «байт»[7], которая используется в сочетании с числительными: 8 байт, 16 килобайт. Счётная форма является разговорной. Точно так же, например, с килограммами: обычная форма родительного падежа употребляется, если нет числительного, а в сочетании с числительным могут быть варианты: 16 килограммов (стилистически нейтральная обычная форма) и 16 килограмм (разговорная счётная форма).