Биты, байты и двоичные данные
Вы когда-нибудь задумывались, что они собой представляют на самом деле — биты, байты и двоичные файлы? Схожие по звучанию, совершенно разные по смыслу, эта статья знакомит вас с компьютерами в их основе: мы опускаемся до физического уровня и многое другое…
Бит и бит!
Компьютеры обрабатывают данные не так, как люди. Но задумывались ли вы когда-нибудь, как на самом деле хранятся эти огромные объемы данных? Добро пожаловать в компьютеры, их ядро: биты. Любая часть информации в большинстве современных вычислительных систем, будь то ваш настольный ПК, мобильный телефон или интеллектуальный экран вашего умного холодильника, хранится с помощью «битов».
Самая детальная часть информации, которую компьютер может «понимать» и обрабатывать, — это бит. Но что такое немного? Как мы можем количественно определить бит? На самом деле это очень просто. Представьте, что у вас есть небольшой кусочек металла (формы, которую можно намагнитить) и магнит. Если вы намагничиваете кусок металла, мы будем называть это состояние намагниченным или 1
. Если мы не намагничиваем кусок металла или возвращаем намагниченный кусок металла в размагниченное состояние, мы будем называть такое размагниченное состояние 0
.
Это, по сути, и есть бит: намагниченный или размагниченный кусок металла. Таким образом, казалось бы, мы не можем хранить много информации в одном бите: только 0
и 1
— два возможных состояния. Вместо этого возьмем восемь бит и посмотрим, что мы можем с этим сделать.
Байт и байт!
Когда мы объединяем восемь бит вместе, мы формируем байт. Байт — это человеческая концепция, а не та, которую компьютер может понять в своих ядрах. Очень ранние разработчики компьютеров решили создавать байты из 8 бит. Давайте посмотрим, сколько комбинаций мы можем создать, используя восемь битов, установленных в состояние 0
или 1
:
0000 0000 = 0 0000 0001 = 1 0000 0010 = 2 0000 0011 = 3 ... 0000 1000 = 8 0000 1001 = 9 ... 0100 0000 = 64 ... 1000 0000 = 128 1000 0001 = 129 1000 0010 = 130 ... 1111 1111 = 255
Слева двоичное число, справа десятичное число.
Существует ровно 256
возможных комбинаций (от 0 до 255
). Несмотря на то, что у нас есть только восемь маленьких кусочков металла и один магнит, теперь мы можем хранить 255 различных состояний, просто намагничивая или размагничивая любой из восьми кусочков металла. Большой? Возможно, но если учесть, что простой PDF-файл с несколькими отсканированными страницами может легко весить 10 мегабайт (= 10 000 000 байт или 80 000 000 бит), вы можете задаться вопросом, как любой компьютер может обрабатывать 80 миллионов маленьких кусочков металла ;)
Еще более удивительным является то, что многие люди имеют подключение к Интернету со скоростью 50 Мбит/с (мегабит в секунду) или выше. 50 Мбит/с — это 6 250 000 байт в секунду, что, в свою очередь, составляет поразительные 50 000 000 бит в секунду. В этом случае данные не сохраняются на намагниченных кусках металла.
Следующий вопрос, который может прийти на ум, — куда записываются эти биты? Любая форма хранения в вычислительной системе. Например, к основным чипам памяти в вашем компьютере, но также и к физическому диску, например, к старому типу HDD (жесткий диск), в котором буквально вращались намагничиваемые диски, а маленькая головка двигалась вперед и назад. в то время как диски вращались со скоростью 5400, 7000 или 10000 оборотов в минуту и включали или выключали биты намагничивания (1
или 0
).
Компьютер также имеет другие места, где он может хранить информацию, например, кэши уровня 1 и уровня 2 (и, где применимо, уровня 3 и т. д.) внутри ЦП (центральный процессор). Итак, каковы некоторые из максимальных скоростей, с которыми компьютеры могут на самом деле намагничивать и размагничивать биты?
Добро пожаловать на самые быстрые диски в мире: быстрый современный NVMe (тип твердотельного накопителя, который, в свою очередь, является преемником жесткого диска) может достигать скорости последовательной записи 7000 МБ/с, что составляет 56 000 000 000 физических магнитных бит записи в секунду. Невероятно, но реально.
Иногда полезно немного вернуться назад в историю и узнать, как все устроено, чтобы оценить то, что было достигнуто, и понять, с какой невероятной скоростью мы прогрессируем. На самом деле это то, что происходит внутри вашего компьютера каждую секунду, и даже быстрее, когда вы обрабатываете интенсивную рабочую нагрузку. Прохладный?
Бинарный!
Теперь, когда мы рассмотрели биты и байты, мы можем сделать небольшой шаг вперед и перейти к двоичному формату. Двоичный термин может использоваться как обозначение двоичного числа (подобно нашему однобайтовому примеру выше, где мы перешли от 0000 0000
(десятичный 0) к 1111 1111
(255 десятичных), либо как поток, какие-то данные или состояние.
Например, мы можем говорить об бинарном потоке данных, когда говорим о нулях и единицах, перемещающихся по компьютерному проводу. В таком случае (двоичный поток данных) состояние битов не намагничивается и не размагничивается, как при хранении на диске или в кэше, а скорее представляет собой живое напряжение (например, +5 Вольт), чтобы указать состояние 1
и ноль вольт, чтобы указать состояние 0
.
Мы можем использовать слово двоичный для обозначения данных, хранящихся в двоичном виде (например, на диске) или в виде состояния, например, исполняемый файл на компьютере часто называют двоичным. Будут ли все эти различные варианты использования двоичного кода, потребуется немного времени, чтобы привыкнуть к жаргону.
Подведение итогов
В этой статье мы исследовали мельчайшую динамику того, что происходит в ядре компьютера: простые биты, намагниченные или размагниченные на диске, или напряжение, протекающее по проводу, являются самыми основными единицами вычислений и хранения данных. Затем мы сделали шаг вперед и перешли к байтам и тому, как один байт может содержать значение от 0 до 255, установив или выключив 8 отдельных битов. Наконец-то мы изучили двоичный код и множество способов его использования.
В следующий раз в кафе расскажите своим менее сведущим друзьям историю о битах, байтах и двоичном коде.
Наслаждайтесь!