Я начну с ответа на ваш последний вопрос:
Кроме того, сколько пальцев у компьютеров?
Компьютеры имеют только один палец... Однако, это не говорит всей истории, так как у компьютеров также обычно много рук (например, 32 или 64 в большинстве компьютеров;).
По определению, все цифровое «это технология данных, которая использует дискретные (прерывистые) значения». Мы можем представить указанные дискретные значения в реальной электронике, используя транзисторы в качестве цифровых переключателей. Транзисторы при использовании в режиме переключения могут пропускать ток или нет. Таким образом, мы можем представить выход транзистора как заземление (без соединения, 0 В) или как напряжение питания (или некоторый процент) - эквиваленты ложных и истинных значений из логической логики.
Чтобы использовать эти дискретные состояния для представления числовых значений, мы видим, что каждый транзистор может представлять два дискретных состояния - или число от 0 до 1. Это часть системы счисления base 2, которая выполняет те же действия, что и наша система base 10 (и base 3, 4, 5, base 16 и т.д. И т.д. И т.д.). Если мы представим число 52 в этих различных системах счисления, где каждая цифра может варьироваться от 0 до N-1, где N - основа системы счисления, мы имеем:
Base 2: 1 1 0 1 0 0 110100_2
2^5 2^4 2^3 2^2 2^1 2^0
Base 4: 3 1 0 310_4
4^2 4^1 4^0
Base 10: 5 2
10^1 10^0 52_10
Base 16: 3 4 34_16
16^1 16^0
Теперь, в случае двоичных чисел, вы можете видеть, что мы можем представлять экспоненциально большие числа (как любая другая система счисления), добавляя больше цифр - или в случае цифрового компьютера, добавляя больше дискретных транзисторов параллельно с системой. Вот почему 32-разрядное (без знака) целое число может хранить любое число от 0 до (2 ^ 32) - 1.
Опять же, поскольку мы можем представлять только два дискретных состояния в электронном виде, единственный способ для нас представить больше - это расширить эти состояния с помощью большего количества включенных или выключенных чисел, добавив параллельно несколько чисел base-2. Вот почему все в компьютерном мире основано на двух степенях - это единственный способ, которым мы можем представлять ценности в компьютере.
Следует отметить, что это невероятно отличается от аналогового компьютера, который буквально может иметь бесконечное количество значений состояния. Это приводит к ошибкам точности в значениях, что неизбежно, в том числе и потому, что предпочтительнее цифровые компьютеры (меньше энтропии информации, лучшие способы хранения, сжатия, шифрования и отсутствие ухудшения качества информации).
Следует также отметить, что мы используем числа с основанием 2, потому что наши транзисторы могут иметь только два состояния. Если бы мы были способны создать трех состояния (я не говорю здесь о трех-логической логике, которая просто использует состояние с высоким импедансом) или четырех состояния транзистора, то мы наверняка могли бы создать компьютеры, используя другую систему счисления.
Однако двоичный код является "проверенным и верным", и нет никакого реального преимущества в использовании другой системы счисления, за исключением того факта, что вам может понадобиться использовать меньше дискретных компонентов для хранения как можно большего числа значений. Например, когда мы превратили 52 в эквиваленты base-4, base-10 и base-16, вы можете увидеть, что по мере увеличения базы системы счисления, естественно, уменьшается количество отдельных цифр, необходимых для хранения этого числа.
Однако транзисторы дешевые, маленькие и крошечные - поэтому у нас нет проблем с представлением очень больших значений (именно поэтому мы переключились на 64-разрядные вычисления - мы можем выполнять больше операций с большими числами за меньшее время).