Решение: Память для автомобильных номеров
Автомобильный номер состоит из 7 символов: четырёх цифр, за которыми следуют 3 буквы. Допустимыми символами считаются 7 цифр (кроме нуля, 6 и 9) и 6 заглавных букв: А, Е, К, М, О, Т. Для хранения каждой из цифр используется одинаковое и наименьшее возможное количество бит. Аналогично, для хранения каждой из букв используется одинаковое и наименьшее возможное количество бит. При этом количество бит, используемых для хранения одной буквы и одной цифры, могут быть разными.
Для хранения каждого номера используется одинаковое и минимально возможное количество байт. Сколько байт памяти потребуется для хранения 400 автомобильных номеров? Номера хранятся без разделителей.
Решение по шагам
5 шаговДля хранения одной цифры из 7 возможных требуется 3 бита, так как $2^2 < 7 \leq 2^3$.
$$i_{\text{цифры}} = 3\ \text{бита}$$Для хранения одной буквы из 6 возможных также требуется 3 бита, так как $2^2 < 6 \leq 2^3$.
$$i_{\text{буквы}} = 3\ \text{бита}$$Объём одного номера составляет $4 \cdot 3 + 3 \cdot 3 = 21$ бит.
$$I = 21\ \text{бит}$$Поскольку номер хранится целым числом байт, требуется округлить объём вверх: $\lceil 21/8\rceil = 3$ байта.
$$I_{\text{номер}} = 3\ \text{байта}$$Для 400 номеров потребуется $400 \cdot 3 = 1200$ байт.
$$I_{\text{общий}} = 400 \cdot 3 = 1200\ \text{байт}$$Где здесь ошибаются
Не округляют 21 бит до целого числа байт.
Используют 4 бита для цифр или букв вместо минимальных 3 бит.
Умножают общий объём в битах на 400, не переведя его в байты.