Основная причина заключается в следующем: проще построить логику с двумя состояниями, и в 99% случаев все более сложное не дает практического преимущества.
На самом деле, гораздо проще (то есть меньше, дешевле и надежнее) построить четыре блока памяти, каждый из которых имеет два состояния (которые можно использовать для хранения десятичной цифры в двоичной записи BCD), чем создать один блок памяти который может хранить и считывать 10 состояний.
Любые будущие усовершенствования технологии могут улучшить память 1 из 10, да. Но те же технологические разработки могут быть применены и к двоичным цепям, делая их меньше, надежнее и потребляя меньше энергии. Двоичные схемы будут улучшаться быстрее, чем схемы с одним уровнем напряжения, потому что двоичные схемы выполняют существенно более простую работу. Таким образом, одна из десяти цепей не может наверстать упущенное.
Использование более высоких напряжений не является началом работы. Вы увеличите потребление энергии; и чем выше напряжение в ваших сигнальных линиях, тем больше шума они излучают (поэтому они с большей вероятностью повредят другие сигналы). Фактически, в настоящее время мы проводим трассировки сигналов настолько близко друг к другу, что при 50 вольтах вам придется беспокоиться о дуге, а не только о емкостной связи! Тенденция в современных процессорах - использовать более низкое и низкое напряжение, а не более высокое.
Кроме того, двоичное кодирование, хотя оно кажется странным при первом знакомстве, во многих отношениях чрезвычайно удобно. Схема двоичного сумматора представляет собой гораздо более простую (и более надежную) конструкцию, чем сумматор, который будет использовать различные уровни напряжения, как описано. (И я даже не хочу думать о том, как бы вы делали умножение, деление или с плавающей запятой.) Кроме того, вам все равно нужна двоичная цифровая логика для реализации остальной части процессора компьютера.
Тот факт, что люди предпочитают иметь дело с компьютерами, использующими десятичные числа, практически не имеет значения: преобразование двоичного числа в десятичное является тривиальным битом кода.
Стоит отметить, что было несколько очень ранних компьютеров, которые хранили цифры в виде десятичных цифр. Но они не делали этого с переменным уровнем напряжения. Вместо этого они использовали схемы, называемые "кольцевыми счетчиками", которые, по сути, были настроены на десять битов памяти, так что только один из десяти мог быть равен "1" за один раз. (Посмотрите "Декатрон".)
Позднее появились "десятичные" компьютеры, такие как IBM 1401 и IBM 1620, но, опять же, все они в основном использовали двоичное хранилище. Биты были просто использованы для представления десятичных цифр различными способами. например, 1401 использовал "двоичное кодированное десятичное число", в котором набор из четырех битов использовался для кодирования каждой десятичной цифры. Компьютеры, подобные этому, были очень успешными в свое время, и большинство калькуляторов все еще работают таким образом.
Короче говоря, хотя десятичное представление, кажется, имеет больше смысла, на самом деле это только потому, что к этому мы, цивилизация, привыкли. Двоичное представление имеет больше смысла для компьютерных схем по всем параметрам техники. (И в любом случае, если бы мы были немного умнее, мы бы росли, используя пальцы для двоичного счета, и мы могли бы считать не только до 10, но и до 1023! :))