На первый взгляд кажется, что десятичная система и длина байта никак не связаны. Не удивляет же нас что, например, в почтовом индексе шесть цифр, а не десять. Так и тут, бит — это просто цифра двоичного числа, а уж сколько там этих цифр — вопрос отдельный.
На заре компьютеростроения байты имели разную длину. Были и четырёхбитные байты, и шестибитные. А совсем старые ЭВМ так и вовсе оперировали не байтами, а машинными словами, при этом адресовать конкретный байт внутри слова они не умели. Например, советская БЭСМ-6 оперировала словами из 48 бит.
Однако довольно быстро инженеры пришли к тому, что выгоднее всего разбивать двоичные данные на небольшие одинаковые кусочки (те самые "байты"). Осталось выбрать длину такого кусочка. Длина в восемь бит оказалась самой оптимальной по нескольким причинам:
- Восемь это степень двойки, что было выгодно для аппаратной реализации двоичной системы. Ну тут чисто инженерная причина
- Далее, в восемь бит можно закодировать любой нужный символ в кодировке EBCDIC. Это упрощало работу со строками, так как при этом каждый байт соответствует одному символу. Резервировать больше бит не стали, ибо памяти в то время не хватало
- Наконец, при операциях с десятичным представлением чисел использовался формат BCD, при котором десятичная цифра представлена четырьмя битами. То есть в один байт можно записать два десятичных разряда
Таким образом, как раз распространённость десятичной системы в том числе и привела к выбору размера байта в восемь бит. Именно четыре бита нужно, чтобы закодировать все цифры от 0 до 9.