Я сам сталкивался с такой ситуацией при регистрации в компьютерной системе, когда мне был выдан идентификатор из , состоящий только из символов из 18-буквенного набора. Также мне было известно, что для хранения сведений о каждом пользователе отведено одинаковое целое количество байт, и что для хранения сведений о 768 пользователях используется 21 Кбайт.
Поэтому я задался вопросом, сколько байт отведено для хранения дополнительных сведений о каждом пользователе? Чтобы ответить на этот вопрос, нужно вычислить сколько байт занимает сам идентификатор и вычесть это значение из общего количества байт, используемых для хранения сведений о пользователях. Для кодирования каждого символа идентификатора используется минимальное количество бит. Поскольку у нас есть , нужно узнать, сколько бит занимает каждый символ. Для этого найдем минимальное количество бит, необходимое для кодирования всех из набора. Зная количество символов в наборе (18), мы можем представить его в виде числа, кратного степени двойки. Наименьшее такое число, превышающее 18,, 32. Значит, каждый символ требует 5 бит для кодирования. Теперь умножим 5 бит на количество символов в идентификаторе (33), чтобы узнать, сколько бит занимает идентификатор⁚ 5 * 33 165 бит. Зная, что в 1 байте содержится 8 бит, мы можем разделить общее количество бит (165) на 8, чтобы получить количество байт, занимаемых идентификатором⁚ 165 / 8 20,625.
Теперь остается только вычесть это значение из общего количества байт, используемых для хранения сведений о пользователях (21 Кбайт, что равно 21 * 1024 байт)⁚ 21 * 1024 — 20,625 21440,625 байт.
Округляя значение до целого числа, получаем, что для хранения дополнительных сведений о каждом пользователе отведено 21440 байт.