Решение: Объём памяти для паролей
При регистрации в компьютерной системе каждому пользователю выдаётся пароль, состоящий из 15 символов и содержащий цифры и заглавные буквы русского алфавита. Буквы Ё, Й, Ь, Ы и Ъ не используются. Таким образом, используется 38 различных символов. Каждый такой пароль в компьютерной программе записывается минимально возможным и одинаковым целым количеством байт (при этом используют посимвольное кодирование и все символы кодируются одинаковым и минимально возможным количеством бит).
Определите объём памяти, отводимый этой программой для записи 20 паролей.
Решение по шагам
4 шагаДля кодирования 38 различных символов требуется минимальное количество бит $i$, удовлетворяющее условию $2^i \geq 38$.
$$2^5 = 32 < 38 \leq 64 = 2^6$$Каждый символ кодируется 6 битами, поэтому один пароль из 15 символов занимает:
$$15 \cdot 6 = 90\ \text{бит}$$Память выделяется целым количеством байт, поэтому для одного пароля требуется:
$$\left\lceil\frac{90}{8}\right\rceil = 12\ \text{байт}$$Для записи 20 паролей требуется:
$$12 \cdot 20 = 240\ \text{байт}$$Где здесь ошибаются
Округляют 90 бит до 11 байт вместо округления вверх до 12 байт.
Используют 5 бит для символа, хотя 5 бит кодируют только 32 различных значения.
Не учитывают округление объёма каждого пароля до целого числа байт.