Решение: Объём хранения паролей
При регистрации в компьютерной системе каждому пользователю выдаётся пароль, состоящий из семи символов и содержащий только символы из 26-символьного набора прописных латинских букв. В базе данных для хранения сведений о каждом пользователе отведено одинаковое и минимально возможное целое число байт. При этом используют посимвольное кодирование паролей, все символы кодируют одинаковым и минимально возможным количеством бит. Кроме собственного пароля, для каждого пользователя в системе хранятся дополнительные сведения, для чего выделено целое число байт; это число одно и то же для всех пользователей.
Для хранения сведений о 20 пользователях потребовалось 400 байт. Сколько байт выделено для хранения дополнительных сведений об одном пользователе?
Решение по шагам
5 шаговОпределим минимальное количество бит для кодирования одного символа. Оно должно удовлетворять условию:
$$2^i \geq 26,\quad i=5$$Пароль состоит из семи символов, поэтому его объём равен:
$$7 \cdot 5 = 35\text{ бит}$$Для хранения пароля требуется минимальное целое число байт:
$$\left\lceil\frac{35}{8}\right\rceil = 5\text{ байт}$$На одного пользователя в базе данных приходится:
$$\frac{400}{20}=20\text{ байт}$$Объём дополнительных сведений равен разности общего объёма и объёма пароля:
$$20-5=15\text{ байт}$$Где здесь ошибаются
Использовать 4 бита для кодирования символа, хотя $2^4 < 26$.
Не округлять объём пароля вверх до целого числа байт.
Вычитать объём пароля из 400 байт вместо объёма, приходящегося на одного пользователя.