Содержание
Байт (англ. byte ) (русское обозначение: байт и Б; международное: B, byte) [1] — единица хранения и обработки цифровой информации; совокупность битов, обрабатываемая компьютером одномоментно. В современных вычислительных системах байт состоит из восьми битов и, соответственно, может принимать одно из 256 (2 8 ) различных значений (состояний, кодов). Однако в истории компьютерной техники существовали решения с иными размерами байта (например, 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 байт = 2 3 = 8 битов . Системы и компьютеры с длинами слов, не кратными числу 2, отпали из-за невыгодности и неудобства.
Постепенно 8-битные байты стали стандартом де-факто; с начала 1970-х в большинстве компьютеров байты состоят из 8 битов , а размер машинного слова кратен 8 битам .
Количество состояний (кодов) в байте [ править | править код ]
Количество состояний (кодов, значений), которое может принимать 1 восьмибитный байт с позиционным кодированием, определяется в комбинаторике. Оно равно количеству размещений с повторениями и вычисляется по формуле:
N p = A ¯ ( n , k ) = A ¯ n k = n k = 2 8 = 256 <displaystyle N_
=<ar >(n,k)=<ar >_
- N p <displaystyle N_
>— количество состояний (кодов, значений) в одном байте;
Производные единицы [ править | править код ]
Измерения в байтах | ||||||||
---|---|---|---|---|---|---|---|---|
ГОСТ 8.417—2002 | Приставки СИ | Приставки МЭК | ||||||
Название | Обозначение | Степень | Название | Степень | Название | Символ | Степень | |
байт | Б | 10 0 | — | 10 0 | байт | B | Б | 2 0 |
килобайт | Кбайт | 10 3 | кило- | 10 3 | кибибайт | KiB | КиБ | 2 10 |
мегабайт | Мбайт | 10 6 | мега- | 10 6 | мебибайт | MiB | МиБ | 2 20 |
гигабайт | Гбайт | 10 9 | гига- | 10 9 | гибибайт | GiB | ГиБ | 2 30 |
терабайт | Тбайт | 10 12 | тера- | 10 12 | тебибайт | TiB | ТиБ | 2 40 |
петабайт | Пбайт | 10 15 | пета- | 10 15 | пебибайт | PiB | ПиБ | 2 50 |
эксабайт | Эбайт | 10 18 | экса- | 10 18 | эксбибайт | EiB | ЭиБ | 2 60 |
зеттабайт | Збайт | 10 21 | зетта- | 10 21 | зебибайт | ZiB | ЗиБ | 2 70 |
йоттабайт | Ибайт | 10 24 | йотта- | 10 24 | йобибайт | YiB | ЙиБ | 2 80 |
Кратные и дольные приставки для образования производных единиц для байта применяются не как обычно. Уменьшительные приставки не используются совсем, а единицы измерения информации, меньшие, чем байт, называются специальными словами — ниббл (тетрада, полубайт) и бит. Увеличительные приставки кратны либо 1024 = 2 10 , либо 1000 = 10 3 : 1 кибибайт равен 1024 байтам , 1 мебибайт — 1024 кибибайтам или 1024×1024 = 1 048 576 байтам и т. д. для гиби-, теби- и пебибайтов. В свою очередь 1 килобайт равен 1000 байтам , 1 мегабайт — 1000 килобайтам или 1000×1000 = 1 000 000 байтам и т. д. для гига-, тера- и петабайт. Разница между ёмкостями (объёмами), выраженными в кило = 10 3 = 1000 и выраженными в киби = 2 10 = 1024 , возрастает с ростом веса приставки. МЭК рекомендует использовать двоичные приставки — кибибайт, мебибайт, йобибайт и т. п.
Иногда десятичные приставки используются и в прямом смысле, например, при указании ёмкости жёстких дисков: у них гигабайт (гибибайт) может обозначать не 1 073 741 824 = 1024 3 байтов , а миллион килобайтов (кибибайтов), то есть 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] для применения в электротехнической и электронной областях рекомендуются обозначения:
- bit — для бита;
- o, B — для октета, байта. Причём о — единственное указанное обозначение во французском языке.
Склонение [ править | править код ]
Кроме обычной формы родительного падежа множественного числа (байтов, килобайтов, битов) существует счётная форма «байт» [7] , которая используется в сочетании с числительными: 8 байт , 16 килобайт . Счётная форма является разговорной. Точно так же, например, с килограммами: обычная форма родительного падежа употребляется, если нет числительного, а в сочетании с числительным могут быть варианты: 16 килограммов (стилистически нейтральная обычная форма) и 16 килограмм (разговорная счётная форма).
Для того, чтобы узнать сколько, например, байт в 1 мегабайте можно воспользоваться специальной таблицей.
Единица | Аббревиатура | Сколько |
бит | б | 1 |
байт | Б | 8 бит |
килобит | кбит (кб) | 1 000 бит |
килобайт | КБайт (KБ) | 1024 байта |
мегабит | мбит (мб) | 1 000 килобит |
мегабайт | МБайт (МБ) | 1024 килобайта |
гигабит | гбит (гб) | 1 000 мегабит |
гигабайт | ГБайт (ГБ) | 1024 мегабайта |
терабит | тбит (тб) | 1 000 гигабит |
терабайт | ТБайт (ТБ) | 1024 гигабайта |
Также вы можете воспользоваться конвертером
Алиса. Меня зовут Алиса…
Шалтай-Болтай. Какое глупое имя! Что оно значит?
Алиса. Разве имя должно что-то значить?
Шалтай-Болтай. Конечно, должно! Возьмем, к примеру, мое имя — оно выражает мою суть! Замечательную чудесную суть! А с таким именем, как у тебя, ты можешь оказаться чем угодно… Ну просто чем угодно!
Л. Кэрролл. Алиса в Зазеркалье
Сегодняшний параграф посвящен теме, с которой начинается любой компьютерный учебник. Начинается он с объяснения минимальной терминологии — вот есть бит, а когда битов становится восемь, то это уже байт. А когда байтов накопится 1024, получим килобайт. Каждый эту смертную скуку по разу прочел, кто-то запомнил, кто-то — нет; прочитал учебник, закрыл — и все.
Тут и начинается наше расследование.
Давным-давно, в стародавние времена жили-были компьютеры. И все в них измерялось в байтах. Но они быстро выросли, и байтов стало много-много — целые тыщи. Тогда компьютерные первопроходцы придумали термин K для обозначения 1024 байт байт), чтобы не путать с к — кило, то есть 1000.
Человечество в процессе долгого разглядывания пальцев выбрало десятичную систему счисления чуть раньше, чем был изобретен компьютер. А в конце XVIII века стандартолюбивые французы придумали метрическую систему мер, основанную как раз на десятке.
Хозяйке на заметку
В метрической системе обычно берут за основу какой-нибудь греческий или латинский корень и приставляют его ко всему. Все эти приставки возводят десятку в какую-нибудь степень. Скажем, миллиметр — это метров (одна тысячная метра). А километр — это метров (одна тысяча метров).
Все метрические обозначения нужно писать правильно, так как от этого зависит смысл: μ означает микро. , м означает милли. , м означает метр , а М — мега.
А компьютеры работали, работают и в ближайшее время будут работать в двоичной системе. Нам известно, что десятичная приставка к происходит от слова «кило» (тысяча), пишется маленькой и означает умножение на тысячу. Двоичное К имеет к «кило» исключительно мнемоническое отношение.
Изначально новая единица называлась К-байт (кабайт), но довольно быстро превратилась в килобайт, хотя этого никто не имел в виду изначально. Остальные значения подбирались по аналогии — мегабайт, гигабайт, терабайт. Все эти слова, по виду напоминающие метрические величины, на самом деле являются степенями двойки. А думать в степенях двойки очень неудобно — никто не думает о мегабайте — как о 1024 килобайтах.
Это только половина истории. Самое интересное: килобайты бывают не только двоичными, но и десятичными. И мы с ними ежедневно сталкиваемся.
Так исторически сложилось, что в К-байтах измерялась компьютерная память (ПЗУ). Поэтому 10 МБ памяти — это 10 485 760 байт, но никак не 10 000 000 байт.
Бóльшая часть производителей жестких дисков указывает объем изделий в десятичных мегабайтах и гигабайтах. А операционные системы смотрят на диски с точки зрения двоичных мегабайтов и гигабайтов. При покупке жесткого диска на 50 ГБ надо быть готовым к тому, что «недо» составит 3,5 ГБ. Оставшиеся 46,5 ГБ — это и есть честный объем диска. Но в двоичных гигабайтах!
В характеристиках жидкокристаллических мониторов стоит обратить внимание на надпись: «диагональ экрана — 15″ (эквивалент 17″ с электронно-лучевой трубкой)». Это означает лишь то, что производители обычных кинескопов меряют диагональ, включая нерабочие области. Все равно в мире не бывает таких потребителей, которые придут в магазин с дюймовой линейкой, чтобы замерить экран. Главное — победить в борьбе красивых цифр (см. также § 70).
Поскольку промышленность пока не научилась делать жидкокристаллические экраны с нерабочей областью, рекламщикам приходится выдавать тайны прошлогодних трюков.
Своей жизнью живет телекоммуникационная индустрия. Там изначально заведено все измерять в десятичных килобитах. Обычно скорость передачи данных меряется килобитами в секунду (кб/сек.). Модем на 28,8 кб/сек. при хорошей погоде передает в секунду ровно 28 800 бит, то есть примерно три с половиной двоичных килобайта. В модеме «на 28,8 К» обозначение «К» вместо «кб/сек.» является плодом фантазии маркетологов и профессионалами не используется.
Особый случай наблюдался у изобретателей 3,5-дюймовой дискеты (которая, на самом деле, 90-миллиметровая). На каждой коробке было указано «1,44 МБ». Все помнят это число. И все помнят, что влезало на дискету гораздо меньше обещанного. Почему? Потому что в данном случае речь идет об особых мегабайтах, в каждом из которых содержится 1 024 000 байт.
Читатель, к этому месту слегка подуставший от разницы между двоичными и десятичными измерениями, представит, чтó с этой разницы имеют производители железа. Реклама пойдет на все, чтобы нарисовать самую вкусную цифру. Она не будет иметь отношения ни к чему, но зато франклины из кошелька будут вылетать охотнее на красивую приманку. Большего, собственно, и не требуется.
Кроме всего прочего, в системе Си буква К давно зарезервирована для обозначения температуры по абсолютной шкале Кельвина. Чтобы хоть как-то спасти эту шизофреническую ситуацию, Международная электротехническая комиссия (МЭК) попыталась в марте 1999 года навести порядок. Мэковцы предложили использовать новые названия для двоичных измерений и придумали новые сокращения, проложив аббревиатурные коржики кремом из буквы и: килобайт предлагалось переименовать в кибибайт (КиБ), мегабайт — в мебибайт (МиБ) и т. д. В ноябре 2000 года эти изменения были официально внесены в международный стандарт.
См.: IEC 60027–2 (2000–11) — Letter symbols to be used in electrical technology — Part 2: Telecommunications and electronics
Хорошая по замыслу идея с треском провалилась — в день написания этого параграфа «Яндекс» по запросу «кибибайт» выдал ровно семь сайтов, из них два — сборники анекдотов.
Все-таки хорошее название — очень важная вещь для претендующих на всемирное признание. «Бибикать» никто не захотел. А «мебибайт» звучит одинаково неприятно на всех языках.
Напоследок приведем таблицу с правильными русскими названиями и аббревиатурами.