Решение: Объём хранения паролей
При регистрации в компьютерной системе каждому пользователю выдаётся пароль, состоящий из 15 символов и содержащий только символы из 8-символьного набора: А, В, C, D, Е, F, G, H. В базе данных для хранения каждого пароля отведено одинаковое и минимально возможное целое число байт. При этом используют посимвольное кодирование паролей, все символы кодируют одинаковым и минимально возможным количеством бит. Кроме собственно пароля, для каждого пользователя в системе хранятся дополнительные сведения, для чего отведено 24 байт на одного пользователя. Определите объём памяти в байтах, необходимый для хранения данных о 200 пользователях.
Решение по шагам
4 шагаДля кодирования одного символа из 8-символьного набора требуется минимальное количество бит:
$$\log_2 8 = 3$$Пароль из 15 символов занимает 45 бит, то есть для его хранения требуется 6 байт, поскольку число байт должно быть целым:
$$\left\lceil \frac{15 \cdot 3}{8} \right\rceil = \left\lceil 5{,}625 \right\rceil = 6$$Объём данных на одного пользователя равен сумме объёма пароля и дополнительных сведений:
$$6 + 24 = 30\ \text{байт}$$Для 200 пользователей необходимый объём памяти составляет:
$$30 \cdot 200 = 6000\ \text{байт}$$Где здесь ошибаются
Не округляют объём пароля вверх до целого числа байт.
Считают, что для одного символа нужно 8 бит, хотя достаточно 3 бит.
Забывают добавить 24 байт дополнительных сведений на каждого пользователя.