Бит — это основная единица информации в вычислительной технике и цифровых коммуникациях . Имя представляет собой комбинацию двоичных цифр . [1] Бит представляет логическое состояние с одним из двух возможных значений . Эти значения чаще всего представляются как « 1 » или « 0 » , но также широко используются и другие представления, такие как true / false , yes / no , on / off или +/- .
Связь между этими значениями и физическими состояниями базового хранилища или устройства является вопросом соглашения, и разные назначения могут использоваться даже в пределах одного и того же устройства или программы . Это может быть физически реализовано с помощью устройства с двумя состояниями.
Непрерывную группу двоичных цифр обычно называют битовой строкой , битовым вектором или одномерным (или многомерным) битовым массивом . Группа из восьми бит называется одним байтом , но исторически размер байта строго не определен. [2] Часто полуслова, полные, двойные и четверные слова состоят из количества байтов, которое представляет собой малую степень двойки. Строка из четырех битов обычно представляет собой полубайт .
В теории информации один бит — это информационная энтропия случайной двоичной переменной, равной 0 или 1 с равной вероятностью, [3] или информация, получаемая, когда значение такой переменной становится известным. [4] [5] Как единица информации бит также известен как шеннон , [6] названный в честь Клода Э. Шеннона .
Символом двоичной цифры является либо «бит» согласно стандарту IEC 80000-13 :2008, либо символ нижнего регистра «b» согласно стандарту IEEE 1541-2002 . Использование последнего может привести к путанице с заглавной буквой «B», которая является международным стандартным символом байта.
Кодирование данных дискретными битами использовалось в перфокартах, изобретенных Базилем Бушоном и Жаном-Батистом Фальконом (1732 г.), разработанных Жозефом Мари Жаккардом (1804 г.), а позднее принятых на вооружение Семеном Корсаковым , Чарльзом Бэббиджем , Германом Холлеритом и ранними производители компьютеров, такие как IBM . Вариантом этой идеи стала перфорированная бумажная лента . Во всех этих системах носитель (карта или лента) концептуально содержал множество положений отверстий; каждая позиция могла быть либо пробита, либо нет, неся таким образом один бит информации. Побитовое кодирование текста также использовалось в азбуке Морзе (1844 г.) и в первых машинах цифровой связи, таких как телетайпы и биржевые биржевые машины (1870 г.).
Ральф Хартли предложил использовать логарифмическую меру информации в 1928 году. [7] Клод Э. Шеннон впервые использовал слово «бит» в своей основополагающей статье 1948 года « Математическая теория коммуникации ». [8] [9] [10] Он приписал его происхождение Джону В. Тьюки , который 9 января 1947 года написал записку Bell Labs, в которой сократил «цифру двоичной информации» до просто «бит». [8]
Бит может храниться в цифровом устройстве или другой физической системе, которая существует в одном из двух возможных различных состояний . Это могут быть два стабильных состояния триггера, два положения электрического переключателя , два различных уровня напряжения или тока , допускаемые цепью , два различных уровня интенсивности света , два направления намагничивания или поляризации , ориентация обратимого двойного элемента. многоцепочечная ДНК и т. д.
Биты могут быть реализованы в нескольких формах. В большинстве современных вычислительных устройств бит обычно представлен электрическим напряжением или импульсом тока или электрическим состоянием триггерной схемы.
Для устройств, использующих положительную логику , цифровое значение 1 (или логическое значение true) представляется более положительным напряжением по сравнению с представлением 0 . Разные семейства логических схем требуют разного напряжения, а вариации допускаются с учетом старения компонентов и помехозащищенности. Например, в транзисторно-транзисторной логике (ТТЛ) и совместимых схемах разрядные значения 0 и 1 на выходе устройства представлены не выше 0,4 В и не ниже 2,6 В соответственно; в то время как входы TTL предназначены для распознавания 0,8 В или ниже как 0 , а 2,2 В или выше как 1 .
Биты передаются по одному при последовательной передаче и кратным числом битов при параллельной передаче . Побитовая операция опционально обрабатывает биты по одному. Скорость передачи данных обычно измеряется в десятичных единицах СИ, кратных единице бит в секунду (бит/с), например кбит/с.
В самых ранних неэлектронных устройствах обработки информации, таких как ткацкий станок Жаккарда или аналитическая машина Бэббиджа , бит часто сохранялся как положение механического рычага или шестерни, а также наличие или отсутствие отверстия в определенной точке бумажной карты . или лента . Первые электрические устройства с дискретной логикой (такие как схемы управления лифтом и светофором , телефонные переключатели и компьютер Конрада Цузе) представляли биты как состояния электрических реле , которые могли быть либо «открытыми», либо «закрытыми». Когда реле были заменены электронными лампами , начиная с 1940-х годов, производители компьютеров экспериментировали с различными методами хранения, такими как импульсы давления, распространяющиеся по ртутной линии задержки , заряды, хранящиеся на внутренней поверхности электронно-лучевой трубки , или непрозрачные пятна. напечатаны на стеклянных дисках методом фотолитографии .
В 1950-х и 1960-х годах эти методы были в значительной степени вытеснены магнитными запоминающими устройствами, такими как память на магнитных сердечниках , магнитные ленты , барабаны и диски , где бит представлял собой полярность намагничивания определенного участка ферромагнитной пленки, или путем изменения полярности с одной стороны на другую. Тот же принцип позже был использован в магнитно-пузырчатой памяти, разработанной в 1980-х годах, и до сих пор используется в различных предметах с магнитной полосой , таких как билеты на метро и некоторые кредитные карты .
В современной полупроводниковой памяти , такой как динамическая память с произвольным доступом , два значения бита могут быть представлены двумя уровнями электрического заряда, хранящегося в конденсаторе . В определенных типах программируемых логических матриц и постоянной памяти бит может быть представлен наличием или отсутствием проводящего пути в определенной точке схемы. В оптических дисках бит кодируется как наличие или отсутствие микроскопической ямки на отражающей поверхности. В одномерных штрих-кодах биты кодируются толщиной чередующихся черных и белых линий.
Бит не определен в Международной системе единиц (СИ). Однако Международная электротехническая комиссия выпустила стандарт IEC 60027 , который определяет, что символом двоичной цифры должен быть «бит», и его следует использовать во всех кратных, например, «кбит» для килобита. [11] Однако строчная буква «b» также широко используется и рекомендована стандартом IEEE 1541 (2002) . Напротив, заглавная буква «B» является стандартным и привычным символом байта.
Несколько битов могут быть выражены и представлены несколькими способами. Для удобства представления часто повторяющихся групп битов в информационных технологиях традиционно используются несколько единиц информации . Наиболее распространенным является единичный байт , придуманный Вернером Бухгольцем в июне 1956 года, который исторически использовался для представления группы битов, используемых для кодирования одного символа текста (до тех пор, пока не взяло верх многобайтовое кодирование UTF-8 ) в компьютере [2] [12] [13] [14] [15] и по этой причине он использовался в качестве основного адресуемого элемента во многих компьютерных архитектурах . Тенденция в проектировании аппаратного обеспечения сводилась к наиболее распространенной реализации использования восьми бит на байт, которая широко используется сегодня. [ на момент? ] Однако из-за неоднозначности использования базовой конструкции аппаратного обеспечения единичный октет был определен как явно обозначающий последовательность из восьми битов.
Компьютеры обычно манипулируют битами группами фиксированного размера, условно называемыми « словами ». Как и в случае с байтом, количество бит в слове также зависит от конструкции оборудования и обычно составляет от 8 до 80 бит, а в некоторых специализированных компьютерах даже больше. В 21 веке розничные персональные или серверные компьютеры имеют размер слова 32 или 64 бита.
Международная система единиц определяет серию десятичных префиксов для кратных стандартизированных единиц, которые обычно также используются с битом и байтом. Префиксы от килобита (10 3 ) до йотта (10 24 ) увеличиваются кратно тысяче, а соответствующие единицы измерения — от килобита (кбит) до йоттабита (Ybit).
Когда информационная емкость системы хранения или канала связи представлена в битах или битах в секунду , это часто относится к двоичным цифрам, которые представляют собой способность компьютерного оборудования хранить двоичные данные ( 0 или 1 , вверх или вниз, текущие или нет). , и т. д.). [16] Информационная емкость системы хранения — это лишь верхняя граница количества хранимой в ней информации. Если два возможных значения одного бита памяти не равновероятны, этот бит памяти содержит менее одного бита информации. Если значение полностью предсказуемо, то чтение этого значения вообще не дает никакой информации (нулевые энтропийные биты, поскольку не происходит разрешения неопределенности и, следовательно, информация недоступна). Если компьютерный файл, который использует n бит памяти, содержит только m < n бит информации, то эта информация в принципе может быть закодирована примерно в m битах, по крайней мере, в среднем. Этот принцип лежит в основе технологии сжатия данных . Используя аналогию, двоичные цифры аппаратного обеспечения относятся к объему доступного пространства для хранения (например, количеству сегментов, доступных для хранения вещей) и информационному содержанию заполнения, которое имеет разные уровни детализации (тонкая или грубая, то есть сжатая или несжатая информация). Когда степень детализации выше — когда информация более сжата — в одном и том же ведре может храниться больше данных.
Например, по оценкам, совокупные технологические возможности мира по хранению информации обеспечивают 1300 эксабайт аппаратных цифр. Однако когда это пространство для хранения заполнено и соответствующий контент оптимально сжат, это представляет собой только 295 эксабайт информации. [17] При оптимальном сжатии результирующая пропускная способность приближается к информации Шеннона или информационной энтропии . [16]
Некоторые побитовые инструкции компьютерного процессора (например, набор битов ) работают на уровне манипулирования битами, а не на уровне данных, интерпретируемых как совокупность битов.
В 1980-х годах, когда растровые компьютерные дисплеи стали популярными, некоторые компьютеры предоставляли специализированные инструкции по передаче битовых блоков для установки или копирования битов, которые соответствовали заданной прямоугольной области на экране.
В большинстве компьютеров и языков программирования, когда упоминается бит в группе битов, например байт или слово, он обычно обозначается числом от 0 вверх, соответствующим его положению в байте или слове. Однако 0 может относиться как к самому старшему , так и к младшему биту в зависимости от контекста.
Подобно крутящему моменту и энергии в физике; Теоретико-информационная информация и размер хранилища данных имеют одинаковую размерность единиц измерения , но, как правило, нет смысла добавлять, вычитать или иным образом комбинировать единицы математически, хотя одно может действовать как ограничение для другого.
Единицы информации, используемые в теории информации, включают шеннон (Ш), естественную единицу информации (нат) и хартли (Харт). Один шеннон — это максимальный объем информации, необходимый для определения состояния одного бита памяти. Они связаны соотношением 1 Sh ≈ 0,693 nat ≈ 0,301 Hart.
Некоторые авторы также определяют бинит как произвольную единицу информации, эквивалентную некоторому фиксированному, но неуказанному количеству битов. [18]
[…] В качестве фона использовался компьютер
IBM
STRETCH , обрабатывающий 64-символьные слова, разделенные на группы по 8 (я разработал набор символов для
него
под руководством доктора
Вернера Бухгольца
, человека, который ДЕЙСТВИТЕЛЬНО придумал термин «
байт
». для 8-битной группировки).
[…]
IBM 360
использовал 8-битные символы, хотя и не напрямую ASCII.
Таким образом, «байт» Бухгольца прижился повсюду.
Мне самому это имя не понравилось по многим причинам.
[…]
Выбору основания логарифма соответствует выбору единицы измерения информации.
Если используется база 2, то полученные единицы можно назвать двоичными цифрами или, короче ,
битами
— слово, предложенное
Дж. У. Тьюки
.
[…] Наиболее важным, с точки зрения редактирования, будет возможность обработки любых символов или цифр длиной от 1 до 6 бит […] Матрица сдвига, которая будет использоваться для преобразования 60-битного
слова
, исходящего из Память параллельно, в
символах
или «
байтах
», как мы их называем, для последовательной отправки в
сумматор
.
60 бит сбрасываются в
магнитные сердечники
на шести разных уровнях.
Таким образом, если 1 выходит из позиции 9, она появляется во всех шести ядрах ниже.
[…] Сумматор может принимать все или только некоторые биты.
[…] Предположим, что требуется работать с 4-битными
десятичными цифрами
, начиная справа.
Первой подается импульс по диагонали 0, отправляя шесть битов от 0 до 5, из которых сумматор принимает только первые четыре (0-3).
Биты 4 и 5 игнорируются.
Далее импульсируется 4-я диагональ.
При этом отправляются биты с 4 по 9, из которых последние два снова игнорируются и так далее.
[…] Так же легко использовать все шесть битов в
буквенно-цифровой
работе, или обрабатывать байты, состоящие только из одного бита, для логического анализа, или смещать байты на любое количество битов.
[…]
[…] Первая ссылка, найденная в файлах, содержалась во внутренней записке, написанной в июне 1956 года, в первые дни разработки
Stretch
.
Байт
описывался как состоящий из любого количества параллельных битов от одного до шести
.
Таким образом, предполагалось, что длина байта соответствует данному случаю.
Его первое использование было в контексте оборудования ввода-вывода 1950-х годов, которое обрабатывало шесть бит одновременно.
Возможность перехода на 8-битные байты рассматривалась в августе 1956 года и вскоре после этого была включена в конструкцию Stretch.
Первая опубликованная ссылка на этот термин произошла в 1959 году в статье
Г. А. Блаау
,
Ф. П. Брукса-младшего
и
В. Бухгольца
«Обработка данных в битах и фрагментах» в журнале
IRE Transactions on Electronic Computers
, июнь 1959 года, стр. 121. Понятия этой статьи были подробно описаны в главе 4 книги
«Планирование компьютерной системы (расширение проекта)»
под редакцией В. Бухгольца,
McGraw-Hill Book Company
(1962).
Обоснование создания этого термина было объяснено там на странице 40 следующим образом:
Байт
обозначает группу битов, используемых для кодирования символа, или количество битов, передаваемых параллельно к блокам ввода-вывода и от них.
Здесь используется
термин, отличный от
символа , поскольку данный символ может быть представлен в разных приложениях более чем одним кодом, а разные коды могут использовать разное количество битов (т. е. разные размеры байтов).
При передаче ввода-вывода группировка битов может быть совершенно произвольной и не иметь никакого отношения к реальным символам.
(Этот термин произошел от
укуса
, но был изменен во избежание случайной мутации на
бит
.)
Система/360
переняла многие концепции Stretch, включая базовые размеры байтов и слов, которые представляют собой степени 2. Однако в целях экономии байт размер был зафиксирован на максимальном уровне 8 бит, а адресация на уровне битов была заменена адресацией по байтам.
[…]