Решение: Кодирование автомобильных номеров
Автомобильный номер длиной 5 символов состоит из десятичных цифр и прописных букв (используется 16 различных букв). Для записи номера в компьютере используется минимально возможное количество байтов, при этом используется посимвольное кодирование и все символы кодируются одним и тем же количеством бит. Определите минимальный объём памяти, необходимый для записи 70 номеров.
Решение по шагам
5 шаговОпределим количество различных символов, используемых в номере:
$$10 + 16 = 26$$Минимальное число бит для кодирования одного из 26 символов равно:
$$\lceil \log_2 26 \rceil = 5$$Один номер содержит 5 символов, поэтому для его записи требуется:
$$5 \cdot 5 = 25\ \text{бит}$$Поскольку память выделяется целыми байтами, один номер занимает:
$$\left\lceil \frac{25}{8} \right\rceil = 4\ \text{байта}$$Для записи 70 номеров потребуется:
$$70 \cdot 4 = 280\ \text{байт}$$Где здесь ошибаются
Забывают округлить объём памяти для одного номера до целого числа байт.
Используют 4 бита для символа, хотя 4 битами можно закодировать только 16 вариантов.
Умножают количество бит на число номеров, не переводя результат в байты.