Решение: Объём памяти автомобильных номеров
В некоторой стране автомобильный номер длиной 6 символов составляют из заглавных букв (используется 20 различных букв) и любых десятичных цифр. Буквы с цифрами могут следовать в любом порядке. Каждый такой номер в компьютерной программе записывается минимально возможным и одинаковым целым количеством байт (при этом используют посимвольное кодирование и все символы кодируются одинаковым и минимально возможным количеством бит). Определите объём памяти, отводимый этой программой для записи 60 номеров.
Решение по шагам
4 шагаВсего используется 30 различных символов: 20 заглавных букв и 10 цифр.
$$20 + 10 = 30$$Минимальное одинаковое количество бит для кодирования одного символа определяется условием $2^i \geq 30$. Получаем 5 бит, так как $2^4 < 30 \leq 2^5$.
$$i = 5$$Один номер содержит 6 символов, поэтому для его записи требуется 30 бит. Так как номер записывается целым количеством байт, выделяется 4 байта.
$$6 \cdot 5 = 30\text{ бит} < 4\cdot 8 = 32\text{ бита}$$Для записи 60 номеров потребуется:
$$60 \cdot 4 = 240\text{ байт}$$Где здесь ошибаются
Используют 4 бита для кодирования символа, хотя 4 бит недостаточно для 30 различных символов.
Округляют 30 бит до 3 байт, забывая, что требуется одинаковое целое количество байт на каждый номер.