Все фотографии, текстовые документы и программы хранятся в компьютерной памяти в виде битов и байтов. Что представляют собой эти мельчайшие единицы информации и сколько бит в байте?
Хранение данных в памяти
Компьютерная память представляет собой огромный набор ячеек, наполненных нулями и единицами. Ячейка - это минимальный объем данных, к которому может обращаться считывающее устройство. Физически она представляет собой триггер (в современных компьютерах). Триггер настолько мал, что его сложно рассмотреть даже под микроскопом. У каждой ячейки есть уникальный адрес, по которому ее находит та или иная программа.
Под ячейкой в большинстве случаев понимают один байт. Но, в зависимости от разрядности архитектуры, она может объединять в себе 2, 4 или 8 байт. Байт воспринимается электронными устройствами как единое целое, но на самом деле он состоит из еще меньших ячеек - битов. В 1 байте можно закодировать какой-нибудь символ, например, букву или цифру, в то время как 1 бита для этого недостаточно.
Контроллеры редко оперируют отдельными битами, хотя технически это возможно. Вместо этого идет обращение к целым байтам или даже группам байтов.
Что такое бит?
Часто под битом понимают единицу измерения информации. Такое определение нельзя назвать точным, потому что само понятие информации достаточно размыто. Если говорить более корректно, то бит - это буква компьютерного алфавита. Слово "бит" происходит от английского выражения "binary digit", что дословно означает "двоичная цифра".
Алфавит компьютеров прост и состоит всего из двух символов: 1 и 0 (наличие или отсутствие сигнала, истина или ложь). Этого набора вполне достаточно, чтобы логически описать все, что угодно. Третье состояние, под которым понимают молчание компьютера (прекращение передачи сигналов), является мифом.
Сама по себе буква не несет в себе никакой ценности с точки зрения информации: глядя на единицу или ноль, невозможно понять даже то, к какого рода данным это значение относится. И фото, и тексты, и программы в конечном счете состоят из единиц и нулей. Поэтому бит неудобен в качестве самостоятельной единицы. Следовательно, биты необходимо объединять для того, чтобы кодировать с их помощью полезную информацию.
Что такое байт?
Если бит - это буква, то байт представляет собой подобие слова. Один байт может содержать текстовый символ, целое число, часть большого числа, два небольших числа и т. д. Таким образом, в байте уже содержится осмысленная информация, хоть и в небольшом объеме.
Начинающим программистам и просто любознательным пользователям интересно, сколько в 1 байте битов. В современных компьютерах один байт всегда равняется восьми битам.
Если бит способен принимать только два значения, то сочетание восьми битов способно создавать 256 различных комбинаций. Число 256 образуется возведением двойки в восьмую степень (в соответствии с тем, сколько битов в байте).
Один бит - это 1 или 0. Два бита уже могут создавать комбинации: 00, 01, 10 и 11. Когда дело доходит до 8 бит, то вариантов сочетания нулей и единиц в диапазоне 00000000 ... 11111111 получается как раз 256. Если запомнить, сколько значений может принимать и сколько бит содержится в одном байте, то запомнить эту цифру будет очень легко.
Каждое сочетание символов может нести в себе различную информацию в зависимости от кодировки (ASCII, Юникод и др.). Именно поэтому пользователи сталкиваются с тем, что введенная на русском языке информация иногда выводится в виде замысловатых символов.
Особенности двоичной системы счисления
Двоичная система имеет все те же свойства, что и привычная нам десятичная: числа, состоящие из единиц и нулей, можно складывать, вычитать, умножать и т. д. Разница лишь в том, что система состоит не из 10-ти, а всего из 2-х цифр. Именно поэтому ее удобно использовать для шифрования информации.
В любой позиционной системе исчисления числа состоят из разрядов: единиц, десятков, сотен и т. д. В десятичной системе максимальное значение одного разряда равно 9, а в бинарной системе - 1. Так как один разряд может принимать лишь два значения, бинарные числа быстро увеличиваются в длину. Например, привычное нам число 9 будет записано как 1001. Это значит, что девятка будет записана четырьмя символами, при этом один двоичный символ будет соответствовать одному биту.
Почему информация шифруется в двоичной форме?
Десятичная система удобна для ввода и вывода информации, а двоичная - для организации процесса ее преобразования. Также очень популярны системы, которые содержат восемь и шестнадцать символов: они переводят машинные коды в удобную форму.
Двоичная система наиболее удобна с точки зрения логики. Единица условно означает "да": есть сигнал, утверждение истинно и т. д. Ноль ассоциируется со значением "нет": значение ложно, сигнала нет и т. д. Любой открытый вопрос можно преобразовать в один или несколько вопросов с вариантами ответов "да" или "нет". Третий вариант, например, "неизвестно", будет абсолютно бесполезным.
В ходе развития компьютерных технологий были разработаны и трехразрядные емкости для хранения информации, которые называются триты. Они могут принимать три значения: 0 - емкость пуста, 1 - емкость заполнена наполовину и 2 - полная емкость. Однако двоичная система оказалась более простой и логичной, поэтому получила значительно большую популярность.
Сколько бит в байте было раньше?
Раньше нельзя было сказать однозначно, сколько бит в байте. Первоначально под байтом понимали машинное слово, то есть то количество бит, которое компьютер может обработать за один рабочий цикл (такт). Когда ЭВМ еще не помещались в рабочих кабинетах, разные микропроцессоры работали с байтами различных размеров. Байт мог включать в себя 6 бит, а у первых моделей IBM его размер достигал 9 бит.
Сегодня 8-битные байты стали настолько привычными, что даже в определении байта часто говорится, что это единица информации, состоящая из 8 бит. Тем не менее, в ряде архитектур байт равняется 32 битам и выступает в качестве машинного слова. Такие архитектуры применяются в некоторых суперкомпьютерах и сигнальных процессорах, но не на привычных нам компьютерах, ноутбуках и мобильных телефонах.
Почему победил восьмибитный стандарт?
Байты приобрели восьмибитный размер благодаря платформе IBM PC с популярнейшим в свое время 8-битным процессором Intel 8086. Распространенность этой модели способствовала тому, что в 1970-х гг. 8 бит в байте фактически стало стандартным значением.
Восьмибитный стандарт удобен тем, что позволяет хранить в 1 байте два символа десятичной системы. При 6-битной системе возможно хранение одной цифры, в то время как 2 бита оказываются лишними. В 9 бит можно записать 2 цифры, но все равно остается один лишний бит. Число 8 является третьей степенью двойки, что обеспечивает дополнительное удобство.
Области использования битов и байтов
Многие пользователи задаются вопросом: как не перепутать бит и байт? В первую очередь необходимо обратить внимание на то, как написано обозначение: сокращенно байт пишется в виде большой буквы "Б" (на английском - "B"). Соответственно, для обозначения бита служит маленькая буква "б" ("b").
Однако всегда есть вероятность, что регистр выбран неверно (например, некоторые программы автоматически переводят весь текст в нижний или верхний регистр). В таком случае следует знать, что принято измерять в битах, а что - в байтах.
Традиционно байтами измеряют объемы: размер жесткого диска, флешки и любого другого носителя будет указан в байтах и укрупненных единицах, например, гигабайтах.
Биты служат для измерения скорости. Количество информации, которую пропускает канал, скорость Интернета и т. п. измеряются в битах и производных единицах, например, мегабитах. Скорость скачивания файлов также всегда выводится в битах.
При желании можно перевести биты в байты или наоборот. Для этого достаточно вспомнить, сколько бит в байте, и произвести простое математическое вычисление. Биты превращаются в байты путем деления на восьмерку, обратный перевод осуществляется при помощи умножения на то же самое число.
Что такое машинное слово?
Машинное слово - это информация, записанная в ячейку памяти. Оно представляет собой максимальную последовательность единиц информации, которая обрабатывается, как одно целое.
Длина слова соответствует разрядности процессора, которая на протяжении длительного времени была равна 16 бит. В большинстве современных компьютеров она составляет 64 бита, хотя встречаются и более короткие (32 бита), и более длинные машинные слова. При этом число бит, образующих машинное слово, всегда кратно восьми и может быть легко переведено в байты.
Для конкретного компьютера длина слова является неизменной и относится к ряду важнейших характеристик "железа".