А знаете ли вы, что компьютер по факту работает с цифрами? Все наши данные: тексты, музыка, изображения, видео хранятся на накопителях и в оперативной памяти в виде обычных цифр. Компьютеру и для этого нужна мощность, чтобы преобразовать огромные массивы цифр в то, что мы видим на экране и слушаем в колонках. Это называется двоичной системой счисления. Давайте простыми словами разберемся, как это все работает.
По факту, двоичная система счисления — это две цифры: 1 и 0. Основа любого компьютера — транзистор, который, как правило, имеет два состояния: открыт и закрыт. Так как компьютеры работают на электрических сигналах, то можно представить, что 0 — нет сигнала, 1 — есть сигнал. Поэтому цифровой сигнал выглядит так:
Каждая цифра в двоичной системе счисления называется битом. Чем больше битов, тем больше данных мы записываем. Поэтому после битов идут килобиты, мегабиты, гигабиты. А вот 1 байт равен 8 битам, поэтому можно говорить: байт, мегабайт, гигабайт, терабайт и далее по нарастающей.
Почему 1 байт — 8 бит? 8 бит — это 256 возможных значений (от 00000000 до 11111111). Такое количество идеально подходило для хранения чисел (например, от 0 до 255), кодировки цветов (в ранней графике каждый пиксель мог описываться одним байтом), работы с более длинными числами (16-, 32- и 64-битными), поскольку они легко делятся на 8.
Если бы байт был, скажем, 9-битным, процессоры пришлось бы усложнять, а память использовалась бы менее эффективно. Поэтому первые процессоры были 8-битными.
Если взять слово «блог» и закодировать его в одну из самых популярных кодировок UTF-8, то выглядеть код будет так:
Б: 11010000 10010001
Л: 11010000 10111011
О: 11010000 10111110
Г: 11010000 10110011
Первый набор цифр создан для того, чтобы опознать символы (кодировка UTF-8, кириллица). Второй набор цифр является самой буквой. Кстати, если использовать старые кодировки (cp-1251), то можно сократить до 32 бит (сейчас 64).
Именно таким способом компьютер и расшифровывает заветные «1» и «0» с помощью встроенных в процессор алгоритмов. Именно таким образом компьютер работает со всеми данными. Стоит понимать, что в видео каждый пиксель — это также набор «единиц» и «нулей», и чем выше качество видео, тем больше данных нужно — поэтому фильмы в Full HD и выше занимают очень много места. А игры? В играх всё еще сложнее, ведь помимо самого игрового процесса нужно вывести качественную графику на экран — здесь как раз процессору помогает дискретная видеокарта, которая может иметь несколько графических чипов для операций с огромными объемами данных.
В те времена, когда еще не было компьютерных стандартов, инженеры экспериментировали с различными системами счисления, в том числе и троичной: 0, 1, 3. Но такие компьютеры требовали сложных процессоров и не прижились. Например, отечественная ЭВМ «Сетунь» работала в троичной системе исчисления, но позже проект был свернут в пользу компьютеров с двоичной системой.
Чем выше частота процессора, тем больше ядер и потоков — тем быстрее процессор «расшифровывает» заветные цифры из накопителя или оперативной памяти. Да, влияет как скорость работы накопителя, так и объем оперативной памяти. Современные программы становятся сложнее, веб-сайты «тяжелее», качество контента улучшается, и поэтому количество цифр просто огромное. Железо внутри компьютера превращает электрический сигнал в двоичную систему, а программными средствами мы уже получаем то, что у нас на экране и в колонках.
Также стоит понимать, что цифры «1» и «0» в виде электрических зарядов передвигаются по проводам интернета, символы кодируются в виде оптических данных в оптоволокне и «путешествуют» в воздухе по Wi-Fi и мобильной сети.
Какой итог? Все современные компьютеры работают в двоичной системе — любое устройство, будь то смартфон, роутер, различные цифровые приборы, оперируют только цифрами. Чем больше цифр — тем больше контента и тем больше мощности нужно системе. Пройдет время, наступит время квантовых компьютеров, но врядли они будут компактными, в них вместо битов использованы кубиты, которые одновременно могут быть в состоянии «1» или «0».