В двоичной системе сам ноль обозначается так же: «0», единичка тоже обозначается «1», а вот двойка уже как «10», тройка – это «11», четыре – «100» и так далее. На первый взгляд, выглядит громоздко и не слишком понятно: числу 89, например будет соответствовать «1011001», а число 5473 в системе двоичного кода будет представлено комбинацией «1010101100001».
Длинно? Да. Неудобно? Да. Но зато мы обошлись только нолями и единицами, которые соответствуют одному из возможных состояний транзистора: «открыто» или «закрыто». И не нужно ругать за такую замудренность современных программистов, лучше скажем им спасибо за то, что они ограничились двоичной системой, а не троичной, или – боже упаси! – двенадцатеричной, как древние шумеры
Стало понятно, почему компьютеры используют двоичный код? Каждый символ в вашем компьютере является электрическим сигналом, а вычислительная «клетка» компьютера – транзистор – различает только «включенное» состояние, когда через него проходит ток, и «выключенное», при котором ток не идет.
Соединение в определенном сочетании контактов множества транзисторов – основной принцип работы всей современной электроники. Это нужно для получения запрограммированного выходного сигнала. Он возникает после совместного взаимодействия транзисторов по обработке входного сигнала. Дальше уже дело техники: каждый конкретный выходной сигнал сможет активировать устройства внешнего интерфейса – и мы услышим из динамика по-детски трогательный гимн польских зоозащитников «БОбер, курва!» или увидим на мониторе рекламу онлайн-казино.
Может ли электронная машина на транзисторах дать неверное решение или ошибиться? Нет, ни в коем случае! Транзисторы соединены таким способом, что при обработке некого входного сигнала они выдают строго определенную последовательность взаимного активирования и результат всегда будет единственно возможным для данной конфигурации оборудования. Это, конечно же, не значит, что компьютер всегда делает одно и то же. Нет, результаты на выходе могут быть самыми разными, но они будут зависеть только от исходной информации.
На современных устройствах этот процесс выглядит очень динамичным: мы немного двигаем мышью и каждое перемещение запускает каскады взаимосвязанных обменов сигналами. Внешне все выглядит так, как будто машина обладает собственным активным сознанием и волей, но суть остается все той же: транзисторы пропускают или блокируют ток в зависимости от того, как они связаны друг с другом.