Units of information |
Information-theoretic |
---|
Data storage |
Quantum information |
Бит — это самая базовая единица информации в вычислительной технике и цифровой связи . Название является производным от binary digit (двоичная цифра) . [1] Бит представляет логическое состояние с одним из двух возможных значений . Эти значения чаще всего представляются как « 1 » или « 0 » , но также широко используются и другие представления, такие как true / false (истина/ложь) , yes / no ( да/ нет) , on / off ( вкл / выкл ) или +/− .
Связь между этими значениями и физическими состояниями базового хранилища или устройства является вопросом соглашения, и различные назначения могут использоваться даже в пределах одного устройства или программы . Физически это может быть реализовано с помощью устройства с двумя состояниями.
Непрерывная группа двоичных цифр обычно называется битовой строкой , битовым вектором или одномерным (или многомерным) битовым массивом . Группа из восьми бит называется одним байтом , но исторически размер байта не был строго определен. [2] Часто половинные, полные, двойные и учетверенные слова состоят из числа байтов, которое является низкой степенью двойки. Строка из четырех бит обычно называется полубайтом .
В теории информации один бит — это информационная энтропия случайной двоичной переменной, которая с равной вероятностью равна 0 или 1, [3] или информация, которая получается, когда значение такой переменной становится известным. [4] [5] Как единица информации или негэнтропии , бит также известен как шеннон , [6] названный в честь Клода Э. Шеннона . Как мера длины цифровой строки, которая кодируется как символы в алфавите 0-1 (двоичном), бит был назван бинитом, [7] но это использование сейчас редко. [8]
При сжатии данных цель состоит в том, чтобы найти более короткое представление для строки, так чтобы оно требовало меньше битов памяти, но оно должно быть «сжато» перед сохранением, а затем (обычно) «распаковано» перед использованием в вычислениях. Область алгоритмической теории информации посвящена изучению «неприводимого информационного содержания» строки (т. е. ее кратчайшей возможной длины представления в битах), при условии, что получатель имеет минимальные априорные знания о методе, используемом для сжатия строки.
Символом двоичной цифры является либо «бит», согласно стандарту IEC 80000-13 :2008, либо строчная буква «b», согласно стандарту IEEE 1541-2002 . Использование последнего может создать путаницу с заглавной буквой «B», которая является международным стандартным символом для байта.
Ральф Хартли предложил использовать логарифмическую меру информации в 1928 году. [9] Клод Э. Шеннон впервые использовал слово «бит» в своей основополагающей статье 1948 года « Математическая теория связи ». [10] [11] [12] Он приписал его происхождение Джону У. Тьюки , который написал служебную записку Bell Labs 9 января 1947 года, в которой он сократил «двоичную информационную цифру» до просто «бит». [10]
Бит может храниться цифровым устройством или другой физической системой, которая существует в одном из двух возможных различных состояний . Это могут быть два устойчивых состояния триггера , два положения электрического переключателя , два различных уровня напряжения или тока, допускаемых схемой , два различных уровня интенсивности света , два направления намагничивания или поляризации , ориентация обратимой двухцепочечной ДНК и т. д.
Возможно, самым ранним примером двоичного запоминающего устройства была перфокарта, изобретенная Базилем Бушоном и Жаном-Батистом Фальконом (1732), разработанная Жозефом Мари Жаккаром (1804), а позже принятая Семеном Корсаковым , Чарльзом Бэббиджем , Германом Холлеритом и ранними производителями компьютеров, такими как IBM . Вариантом этой идеи была перфорированная бумажная лента . Во всех этих системах носитель (карта или лента) концептуально нес массив позиций отверстий; каждая позиция могла быть либо пробита, либо нет, таким образом перенося один бит информации. Кодирование текста битами также использовалось в азбуке Морзе (1844) и ранних цифровых коммуникационных машинах, таких как телетайпы и биржевые тикеры (1870).
Первые электрические устройства для дискретной логики (такие как схемы управления лифтами и светофорами , телефонные коммутаторы и компьютер Конрада Цузе) представляли биты как состояния электрических реле , которые могли быть либо «открытыми», либо «закрытыми». Когда реле были заменены электронными трубками , начиная с 1940-х годов, разработчики компьютеров экспериментировали с различными методами хранения, такими как импульсы давления, перемещающиеся по ртутной линии задержки , заряды, хранящиеся на внутренней поверхности электронно-лучевой трубки , или непрозрачные пятна, напечатанные на стеклянных дисках с помощью фотолитографических методов.
В 1950-х и 1960-х годах эти методы были в значительной степени вытеснены магнитными запоминающими устройствами, такими как память на магнитных сердечниках , магнитные ленты , барабаны и диски , где бит был представлен полярностью намагничивания определенной области ферромагнитной пленки или изменением полярности с одного направления на другое. Тот же принцип был позже использован в памяти на магнитном пузыре, разработанной в 1980-х годах, и до сих пор встречается в различных предметах с магнитной полосой , таких как билеты метро и некоторые кредитные карты .
В современной полупроводниковой памяти , такой как динамическая память с произвольным доступом или твердотельный накопитель , два значения бита представлены двумя уровнями электрического заряда, хранящегося в конденсаторе или плавающем затворе MOSFET . В некоторых типах программируемых логических матриц и постоянной памяти бит может быть представлен наличием или отсутствием проводящего пути в определенной точке цепи. В оптических дисках бит кодируется как наличие или отсутствие микроскопической ямки на отражающей поверхности. В одномерных штрихкодах и двумерных QR-кодах биты кодируются как линии или квадраты, которые могут быть как черными, так и белыми.
В современных цифровых вычислениях биты преобразуются в булевых логических вентилях .
При последовательной передаче биты передаются по одному . При параллельной передаче , напротив, несколько бит передаются одновременно . Последовательный компьютер обрабатывает информацию либо в последовательном, либо в последовательном режиме. С точки зрения передачи данных последовательная передача байтов представляет собой 8-канальную параллельную передачу с двоичной сигнализацией.
В таких языках программирования, как C , побитовая операция выполняется над двоичными строками так, как будто они являются векторами битов, а не интерпретирует их как двоичные числа .
Скорость передачи данных обычно измеряется в десятичных кратных СИ. Например, пропускная способность канала может быть указана как 8 кбит/с = 8 кбит/с = 1 кБ/с.
Размеры файлов часто измеряются в (двоичных) кратных байтам IEC, например, 1 KiB = 1024 байта = 8192 бита. Путаница может возникнуть в случаях, когда (по историческим причинам) размеры файлов указываются с помощью двоичных множителей, использующих неоднозначные префиксы K, M и G, а не стандартные префиксы IEC Ki, Mi и Gi. [13]
Устройства хранения данных обычно измеряются в десятичных единицах СИ, например, 1 ТБ = байт.
Сбивает с толку тот факт, что емкость памяти с прямой адресацией, например, чипа DRAM или сборки таких чипов в модуле памяти, указывается как двоичное кратное — с использованием неоднозначного префикса G вместо рекомендуемого IEC префикса Gi. Например, чип DRAM, который указан (и рекламируется) как имеющий емкость «1 ГБ», имеет емкость в байтах. По состоянию на 2022 год разница между популярным пониманием системы памяти с емкостью «8 ГБ» и правильным в системе СИ значением «8 ГБ» все еще вызывала трудности у разработчиков программного обеспечения. [14]
Бит не определен в Международной системе единиц (СИ). Однако Международная электротехническая комиссия выпустила стандарт IEC 60027 , в котором указано, что символом для двоичной цифры должен быть «бит», и он должен использоваться во всех кратных, например, «кбит» для килобита. [15] Однако строчная буква «b» также широко используется и была рекомендована стандартом IEEE 1541 (2002) . Напротив, заглавная буква «B» является стандартным и общепринятым символом для байта.
|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Порядки величин данных |
Несколько битов могут быть выражены и представлены несколькими способами. Для удобства представления часто встречающихся групп битов в информационных технологиях традиционно использовались несколько единиц информации . Наиболее распространенной является единица байт , введенная Вернером Бухгольцем в июне 1956 года, которая исторически использовалась для представления группы битов, используемых для кодирования одного символа текста (пока не появилась многобайтовая кодировка UTF-8 ) в компьютере [2] [16] [17] [18] [19] и по этой причине она использовалась в качестве основного адресуемого элемента во многих компьютерных архитектурах . К 1993 году тенденция в проектировании оборудования сошлась на 8-битном байте . [20] Однако из-за неоднозначности опоры на базовую конструкцию оборудования единица октет была определена для явного обозначения последовательности из восьми бит.
Компьютеры обычно оперируют битами в группах фиксированного размера, условно называемых « словами ». Как и байт, количество бит в слове также зависит от конструкции оборудования и обычно составляет от 8 до 80 бит, а в некоторых специализированных компьютерах и того больше. В начале 21-го века розничные персональные или серверные компьютеры имеют размер слова 32 или 64 бита.
Международная система единиц определяет ряд десятичных префиксов для кратных стандартизированных единиц, которые обычно используются также с битом и байтом. Префиксы от кило (10 3 ) до йотты (10 24 ) увеличиваются на кратные одной тысяче, а соответствующие единицы — от килобита (кбит) до йоттабита (Ybit).
[…] На основе компьютера
STRETCH
от
IBM
, обрабатывающего 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 году в статье «Обработка данных по битам и кускам»
G A Blaauw
,
F P Brooks Jr
и
W Buchholz
в
IRE Transactions on Electronic Computers
, июнь 1959 г., стр. 121. Понятия этой статьи были подробно изложены в главе 4
Planning a Computer System (Project Stretch)
, под редакцией W Buchholz,
McGraw-Hill Book Company
(1962). Обоснование введения термина было объяснено там на стр. 40 следующим образом:
Байт
обозначает группу битов, используемых для кодирования символа, или количество битов, передаваемых параллельно на устройства ввода-вывода и из них. Здесь используется термин, отличный от
символа
, поскольку данный символ может быть представлен в разных приложениях более чем одним кодом, а разные коды могут использовать разное количество битов (т. е. разные размеры байтов). При передаче ввода-вывода группировка битов может быть совершенно произвольной и не иметь никакого отношения к фактическим символам. (Термин образован от
bite
, но изменен, чтобы избежать случайной мутации в
bit
.)
System/360
переняла многие концепции Stretch, включая основные размеры байтов и слов, которые являются степенями числа 2. Однако в целях экономии размер байтов был зафиксирован на уровне максимум 8 бит, а адресация на уровне битов была заменена адресацией байтов. […]