Решение: Объём памяти для паролей
При регистрации в компьютерной системе каждому пользователю выдаётся пароль, состоящий из 10 символов. В качестве символов используют прописные буквы латинского алфавита, то есть 26 различных символов. В базе данных для хранения каждого пароля отведено одинаковое и минимально возможное целое число байт. При этом используют посимвольное кодирование паролей: все символы кодируют одинаковым и минимально возможным количеством бит. Определите объём памяти в байтах, необходимый для хранения данных о 50 пользователях.
Решение по шагам
4 шагаОпределим минимальное количество бит для кодирования одной буквы. Оно должно удовлетворять условию:
$$2^n \geq 26$$Так как $2^4 = 16 < 26 \leq 32 = 2^5$, один символ кодируется 5 битами.
$$n = 5$$Пароль из 10 символов занимает 50 бит. Переведём объём в байты и округлим вверх до целого числа байт:
$$\left\lceil \frac{10 \cdot 5}{8} \right\rceil = \left\lceil 6{,}25 \right\rceil = 7$$Для хранения данных о 50 пользователях потребуется:
$$7 \cdot 50 = 350$$Где здесь ошибаются
Использовать 4 бита для символа, хотя 4 бит недостаточно для кодирования 26 различных букв.
Не округлять объём одного пароля вверх до целого числа байт.
Умножить на 50 до округления и получить неверный объём.