Что такое двоичный код и почему компьютеры используют его?

Оглавление:

Что такое двоичный код и почему компьютеры используют его?
Что такое двоичный код и почему компьютеры используют его?

Видео: Что такое двоичный код и почему компьютеры используют его?

Видео: Что такое двоичный код и почему компьютеры используют его?
Видео: Базовые фишки и функции Apple Watch. Как использовать ваши часы - YouTube 2024, Апрель
Anonim
Компьютеры не понимают слов и цифр так, как это делают люди. Современное программное обеспечение позволяет конечному пользователю игнорировать это, но на самых низких уровнях вашего компьютера все представлено двоичным электрическим сигналом, который регистрируется в одном из двух состояний: включен или выключен. Чтобы понять сложные данные, ваш компьютер должен закодировать его в двоичном формате.
Компьютеры не понимают слов и цифр так, как это делают люди. Современное программное обеспечение позволяет конечному пользователю игнорировать это, но на самых низких уровнях вашего компьютера все представлено двоичным электрическим сигналом, который регистрируется в одном из двух состояний: включен или выключен. Чтобы понять сложные данные, ваш компьютер должен закодировать его в двоичном формате.

Binary - это базовая система счисления 2. База 2 означает, что есть только две цифры-1 и 0, которые соответствуют состояниям включения и выключения, которые ваш компьютер может понять. Вероятно, вы знакомы с базой 10 - десятичной системой. Decimal использует десять цифр, которые колеблются от 0 до 9, а затем обертываются, чтобы сформировать двузначные числа, причем каждая цифра стоит в десять раз больше, чем последняя (1, 10, 100 и т. Д.). Двоичные аналогичны, причем каждая цифра стоит в два раза больше, чем последняя.

Подсчет в двоичном формате

В двоичном выражении первая цифра стоит 1 в десятичной системе. Вторая цифра стоит 2, третья - 4, четвертая - 8, и так далее - удваивается каждый раз. Добавление всех этих значений дает вам число в десятичном формате. Так,
В двоичном выражении первая цифра стоит 1 в десятичной системе. Вторая цифра стоит 2, третья - 4, четвертая - 8, и так далее - удваивается каждый раз. Добавление всех этих значений дает вам число в десятичном формате. Так,

1111 (in binary) = 8 + 4 + 2 + 1 = 15 (in decimal)

Учет 0, это дает нам 16 возможных значений для четырех двоичных битов. Переместитесь на 8 бит, и вы получите 256 возможных значений. Это занимает намного больше места для представления, поскольку четыре цифры в десятичной форме дают нам 10 000 возможных значений. Может показаться, что мы преодолеем всю эту проблему, чтобы заново изобрести нашу систему подсчета, чтобы сделать ее clunkier, но компьютеры понимают двоичные файлы намного лучше, чем они понимают десятичную. Конечно, бинарный занимает больше места, но мы сдерживаем аппаратное обеспечение. И для некоторых вещей, таких как логическая обработка, двоичный код лучше десятичного.

Есть еще одна базовая система, которая также используется в программировании: шестнадцатеричная. Хотя компьютеры не работают в шестнадцатеричном формате, программисты используют его для представления двоичных адресов в удобочитаемом формате при написании кода. Это связано с тем, что две цифры шестнадцатеричного числа могут представлять собой целый байт, восемь цифр в двоичном формате. Шестнадцатеричный использует 0-9, как десятичный, а также буквы от A до F, чтобы представить дополнительные шесть цифр.

Итак, почему компьютеры используют двоичные файлы?

Короткий ответ: аппаратное обеспечение и законы физики. Каждый номер вашего компьютера является электрическим сигналом, и в первые дни вычислений электрические сигналы были намного сложнее измерить и контролировать очень точно. Было более разумно различать только «включенное» состояние, представленное отрицательным зарядом, и «выключенное» состояние, представленное положительным зарядом. Для тех, кто не знает, почему «выключено» представлено положительным зарядом, это связано с тем, что электроны имеют отрицательный заряд, а больше электронов - больше тока с отрицательным зарядом.

Таким образом, ранние компьютеры размером с комнату использовали двоичные файлы для создания своих систем, и хотя они использовали гораздо более старые, более громоздкие аппаратные средства, мы придерживались одних и тех же основополагающих принципов. Современные компьютеры используют так называемый транзистор для выполнения расчетов с двоичным кодом. Вот схема того, как выглядит полевой транзистор (FET):

По сути, он позволяет только ток течь от источника к стоку, если в воротах есть ток. Это формирует двоичный ключ. Производители могут строить эти транзисторы невероятно малыми - вплоть до 5 нанометров или размером с две нити ДНК. Это то, как работают современные процессоры, и даже они могут страдать от проблем, различающих состояние включения и выключения (хотя это в основном связано с их нереальным молекулярным размером, подверженным странности квантовой механики).
По сути, он позволяет только ток течь от источника к стоку, если в воротах есть ток. Это формирует двоичный ключ. Производители могут строить эти транзисторы невероятно малыми - вплоть до 5 нанометров или размером с две нити ДНК. Это то, как работают современные процессоры, и даже они могут страдать от проблем, различающих состояние включения и выключения (хотя это в основном связано с их нереальным молекулярным размером, подверженным странности квантовой механики).

Но почему только Base 2?

Поэтому вы можете подумать: «Почему только 0 и 1? Не могли бы вы просто добавить еще одну цифру? »Хотя некоторые из них сводятся к традициям в том, как создаются компьютеры, добавить еще одну цифру означает, что нам нужно будет различать разные уровни тока, а не только« выключить »и« включить », Но также такие как «на немного» и «на много».

Проблема здесь в том, что если вы хотите использовать несколько уровней напряжения, вам нужен способ легко выполнять вычисления с ними, а аппаратное обеспечение для этого не является жизнеспособным как замена двоичных вычислений. Это действительно существует; он называется тройным компьютером, и он существует с 1950-х годов, но это в значительной степени там, где разработка на нем прекратилась. Тернарная логика более эффективна, чем двоичная, но пока еще нет эффективной замены бинарного транзистора или, по крайней мере, не было сделано никакой работы по их разработке в тех же крошечных масштабах, что и двоичные.

Причина, по которой мы не можем использовать тройную логику, сводится к тому, как транзисторы складываются в компьютер - что-то называемое «воротами», - и как они используются для выполнения математики. Гейты берут два входа, выполняют операцию над ними и возвращают один выход.

Это приводит нас к длинному ответу: бинарная математика проще для компьютера, чем что-либо еще. Логическая логика легко преобразуется в двоичные системы, причем True и False представлены вкл. И выкл. Гейтс в вашем компьютере работает с логической логикой: они берут два входа и выполняют операцию над ними, например, AND, OR, XOR и т. Д. Два входа легко управлять.Если бы вы написали ответы для каждого возможного ввода, вы бы получили так называемую таблицу истинности:
Это приводит нас к длинному ответу: бинарная математика проще для компьютера, чем что-либо еще. Логическая логика легко преобразуется в двоичные системы, причем True и False представлены вкл. И выкл. Гейтс в вашем компьютере работает с логической логикой: они берут два входа и выполняют операцию над ними, например, AND, OR, XOR и т. Д. Два входа легко управлять.Если бы вы написали ответы для каждого возможного ввода, вы бы получили так называемую таблицу истинности:
Бинарная таблица истинности, работающая на логической логике, будет иметь четыре возможных выхода для каждой фундаментальной операции. Но поскольку тройные ворота занимают три входа, тройная таблица истинности имела бы 9 или более. В то время как бинарная система имеет 16 возможных операторов (2 ^ 2 ^ 2), троичная система имела бы 19,683 (3 ^ 3 ^ 3). Масштабирование становится проблемой, поскольку в то время как троичность более эффективна, она также экспоненциально более сложна.
Бинарная таблица истинности, работающая на логической логике, будет иметь четыре возможных выхода для каждой фундаментальной операции. Но поскольку тройные ворота занимают три входа, тройная таблица истинности имела бы 9 или более. В то время как бинарная система имеет 16 возможных операторов (2 ^ 2 ^ 2), троичная система имела бы 19,683 (3 ^ 3 ^ 3). Масштабирование становится проблемой, поскольку в то время как троичность более эффективна, она также экспоненциально более сложна.

Кто знает? В будущем мы могли бы начать видеть, что тройные компьютеры становятся предметом, поскольку мы подталкиваем пределы бинарного до молекулярного уровня. Пока же мир будет продолжать работать в двоичном режиме.

Image credits: spainter_vfx / Shutterstock, Википедия, Википедия, Википедия, Википедия

Рекомендуемые: