Шешімі: Объём хранения пароля
При регистрации в компьютерной системе каждому пользователю выдаётся пароль, состоящий из 12 символов и содержащий только символы из 26-символьного набора прописных латинских букв. В базе данных для хранения сведений о каждом пользователе отведено одинаковое и минимально возможное целое число байт. При этом используют посимвольное кодирование паролей, все символы кодируют одинаковым и минимально возможным количеством бит. Кроме собственного пароля, для каждого пользователя в системе хранятся дополнительные сведения, для чего выделено целое число байт; это число одно и то же для всех пользователей. Для хранения сведений о 30 пользователях потребовалось 600 байт. Сколько байт выделено для хранения дополнительных сведений об одном пользователе?
Шешімін қадамдап көрсету
6 қадамОпределим минимальное количество бит для кодирования одного символа. Оно должно удовлетворять условию:
$$2^i \geq 26$$Так как $2^4 = 16 < 26$, а $2^5 = 32 \geq 26$, каждый символ кодируется 5 битами.
Пароль из 12 символов занимает:
$$12 \cdot 5 = 60\ \text{бит} = 7{,}5\ \text{байт}$$Поскольку для хранения пароля отводится минимальное целое число байт, он занимает 8 байт.
На бір пользователя приходится:
$$600 : 30 = 20\ \text{байт}$$Объём дополнительных сведений равен:
$$20 - 8 = 12\ \text{байт}$$Где здесь ошибаются
Округляют объём пароля 7,5 байт до 7 байт вместо 8.
Используют 4 бита для символа, хотя 4 бит недостаточно для 26 символов.
Не делят общий объём данных на количество пользователей.