Уязвимым местом неймановской архитектуры являлось введение данных. Устройство Эйкена могло принимать данные в привычной для человека десятичной форме исчисления. При такой форме все числа описываются с помощью десяти различных знаков – от 0 до 9.

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

Этот путь заключался в использовании двоичного кода. При двоичном коде все числа записываются с помощью двух знаков – 0 и 1. В двоичном коде нулю соответствует 0, единице – 1, а вот число «2» в двоичном коде пишется как «10». «3» выражается «11», «4» – это 100 и т. д.

Существенным достоинством двоичного кодирования является то, что оно позволило «материализовать» информацию, перевести ее из области абстрактного сигнала в область «материала», который может быть подвергнут обработке с помощью технических средств. Сигнал либо есть (1), либо его нет (0). «Память» компьютера состоит из огромного количества элементарных электромагнитных устройств, которые либо испускают электрические импульсы (что для устройства обработки является 1), либо не испускают (это дает 0). Если сигнал меняется с 1 на 0, это означает уменьшение числа, то есть вычитание, а если с 0 на 1 – это сложение. Конечно, запись даже небольшого числа вроде 32 и арифметических операций с ним в двоичном коде выглядит очень громоздко, но скорость считывания сигналов уравновешивала все недостатки.

Первоначально элементарные устройства были заметных размеров, и считывание сигналов с них было относительно долгим. Но широкое внедрение полупроводников, микросхем и пр. позволили кардинально уменьшить размеры вычислительных устройств и одновременно повысить их быстродействие.

Тем не менее, вплоть до настоящего момента все компьютеры, как и их далекие предшественники, могут только складывать и вычитать числа, записанные в двоичном коде, но делают это гораздо быстрее.

Следует отметить, что использование двоичного кода далеко не сразу было признано единственно верным решением. Как уже говорилось, имелись варианты систем, работающих в десятичной системе. Можно также упомянуть оригинальный эксперимент, осуществленный в СССР при создании вычислительного устройства, работающего в троичном коде (машина «Сетунь»[6]).

Благодаря двоичному коду появилась не только возможность аппаратной обработки информации. Ее стало возможным измерить. Элементарной единицей информации является бит. Он означает либо отсутствие сигнала (0 бит), либо наличие сигнала (1 бит). Соответственно, 1 в двоичном коде – 1 бит информации.

Но если компьютер как аппаратное устройство оперирует именно битами, то человек как пользователь должен пользоваться более привычными ему символами. Опытным путем было установлено, что все символы могут быть описаны для компьютера числами двоичного кода, не превышающими 8 разрядов (всего 256 чисел). Иначе говоря, символ (буква, пробел, цифра) может быть описан с помощью 8 бит. Это количество информации получило наименование «байт». Например, если в произведении 32 000 знаков (включая пробелы, можно сказать, что его информационный объем составляет 32 000 байт).

Следует отметить, что образование кратных единиц измерения количества информации несколько отличается от принятых в большинстве наук. Традиционные метрические системы единиц в качестве множителей кратных единиц используют коэффициент 10n, где n = 3, 6, 9 и так далее, что соответствует десятичным приставкам Кило (10