Решение: Хранение автомобильных номеров
Автомобильный номер состоит из 8 символов: четырёх цифр, за которыми следуют 4 буквы. Допустимыми символами считаются 10 цифр и 25 заглавных латинских букв (кроме буквы O). Для хранения каждой из цифр используется одинаковое и наименьшее возможное количество бит. Аналогично, для хранения каждой из букв используется одинаковое и наименьшее возможное количество бит. При этом количество бит, используемых для хранения одной буквы и одной цифры, могут быть разными.
Для хранения каждого номера используется одинаковое и минимально возможное количество байт. Сколько байт памяти потребуется для хранения 200 автомобильных номеров? Номера хранятся без разделителей.
Решение по шагам
5 шаговДля кодирования 10 цифр требуется минимальное количество бит $b$, такое что $2^b \geq 10$. Получаем 4 бита.
Для кодирования 25 букв требуется минимальное количество бит $b$, такое что $2^b \geq 25$. Получаем 5 бит.
Один номер содержит четыре цифры и четыре буквы, поэтому его объём равен:
$$4 \cdot 4 + 4 \cdot 5 = 36\text{ бит}$$Так как хранение выполняется целым числом байт, для одного номера потребуется округлить 36 бит вверх до 5 байт.
$$\left\lceil\frac{36}{8}\right\rceil = 5\text{ байт}$$Для 200 номеров потребуется:
$$5 \cdot 200 = 1000\text{ байт}$$1000 байт, вариант 4
Где здесь ошибаются
Округлять 36 бит до 4 байт вместо округления вверх до 5 байт.
Использовать одинаковое количество бит для цифр и букв.
Забыть умножить объём одного номера на 200.