Binary - это базовая система счисления 2. База 2 означает, что есть только две цифры-1 и 0, которые соответствуют состояниям включения и выключения, которые ваш компьютер может понять. Вероятно, вы знакомы с базой 10 - десятичной системой. Decimal использует десять цифр, которые колеблются от 0 до 9, а затем обертываются, чтобы сформировать двузначные числа, причем каждая цифра стоит в десять раз больше, чем последняя (1, 10, 100 и т. Д.). Двоичные аналогичны, причем каждая цифра стоит в два раза больше, чем последняя.
Подсчет в двоичном формате
1111 (in binary) = 8 + 4 + 2 + 1 = 15 (in decimal)
Учет 0, это дает нам 16 возможных значений для четырех двоичных битов. Переместитесь на 8 бит, и вы получите 256 возможных значений. Это занимает намного больше места для представления, поскольку четыре цифры в десятичной форме дают нам 10 000 возможных значений. Может показаться, что мы преодолеем всю эту проблему, чтобы заново изобрести нашу систему подсчета, чтобы сделать ее clunkier, но компьютеры понимают двоичные файлы намного лучше, чем они понимают десятичную. Конечно, бинарный занимает больше места, но мы сдерживаем аппаратное обеспечение. И для некоторых вещей, таких как логическая обработка, двоичный код лучше десятичного.
Есть еще одна базовая система, которая также используется в программировании: шестнадцатеричная. Хотя компьютеры не работают в шестнадцатеричном формате, программисты используют его для представления двоичных адресов в удобочитаемом формате при написании кода. Это связано с тем, что две цифры шестнадцатеричного числа могут представлять собой целый байт, восемь цифр в двоичном формате. Шестнадцатеричный использует 0-9, как десятичный, а также буквы от A до F, чтобы представить дополнительные шесть цифр.
Итак, почему компьютеры используют двоичные файлы?
Короткий ответ: аппаратное обеспечение и законы физики. Каждый номер вашего компьютера является электрическим сигналом, и в первые дни вычислений электрические сигналы были намного сложнее измерить и контролировать очень точно. Было более разумно различать только «включенное» состояние, представленное отрицательным зарядом, и «выключенное» состояние, представленное положительным зарядом. Для тех, кто не знает, почему «выключено» представлено положительным зарядом, это связано с тем, что электроны имеют отрицательный заряд, а больше электронов - больше тока с отрицательным зарядом.
Таким образом, ранние компьютеры размером с комнату использовали двоичные файлы для создания своих систем, и хотя они использовали гораздо более старые, более громоздкие аппаратные средства, мы придерживались одних и тех же основополагающих принципов. Современные компьютеры используют так называемый транзистор для выполнения расчетов с двоичным кодом. Вот схема того, как выглядит полевой транзистор (FET):
Но почему только Base 2?
Поэтому вы можете подумать: «Почему только 0 и 1? Не могли бы вы просто добавить еще одну цифру? »Хотя некоторые из них сводятся к традициям в том, как создаются компьютеры, добавить еще одну цифру означает, что нам нужно будет различать разные уровни тока, а не только« выключить »и« включить », Но также такие как «на немного» и «на много».
Проблема здесь в том, что если вы хотите использовать несколько уровней напряжения, вам нужен способ легко выполнять вычисления с ними, а аппаратное обеспечение для этого не является жизнеспособным как замена двоичных вычислений. Это действительно существует; он называется тройным компьютером, и он существует с 1950-х годов, но это в значительной степени там, где разработка на нем прекратилась. Тернарная логика более эффективна, чем двоичная, но пока еще нет эффективной замены бинарного транзистора или, по крайней мере, не было сделано никакой работы по их разработке в тех же крошечных масштабах, что и двоичные.
Причина, по которой мы не можем использовать тройную логику, сводится к тому, как транзисторы складываются в компьютер - что-то называемое «воротами», - и как они используются для выполнения математики. Гейты берут два входа, выполняют операцию над ними и возвращают один выход.
Кто знает? В будущем мы могли бы начать видеть, что тройные компьютеры становятся предметом, поскольку мы подталкиваем пределы бинарного до молекулярного уровня. Пока же мир будет продолжать работать в двоичном режиме.
Image credits: spainter_vfx / Shutterstock, Википедия, Википедия, Википедия, Википедия