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