Решение: Объём памяти идентификаторов
При регистрации в компьютерной системе каждому объекту присваивается идентификатор, состоящий из 276 символов и содержащий только десятичные цифры и символы из 4200-символьного специального алфавита. В базе данных для хранения каждого идентификатора отведено одинаковое и минимально возможное целое число байт. При этом используется посимвольное кодирование идентификаторов, все символы кодируются одинаковым и минимально возможным количеством бит.
Определите объём памяти (в Кбайт), необходимый для хранения 32 768 идентификаторов.
Решение по шагам
4 шагаОпределим количество символов алфавита идентификатора: 10 десятичных цифр и 4200 специальных символов.
$$N = 10 + 4200 = 4210$$Найдём минимальное одинаковое количество бит для кодирования одного символа.
$$2^{12} < 4210 \leq 2^{13},\quad i = 13$$Определим информационный объём одного идентификатора в битах и байтах. Так как число байт должно быть целым, округляем вверх.
$$I_1 = 276 \cdot 13 = 3588\text{ бит};\quad B_1 = \left\lceil \dfrac{3588}{8} \right\rceil = 449\text{ байт}$$Вычислим объём памяти для 32768 идентификаторов и переведём его в Кбайты.
$$B = 449 \cdot 32768 = 14368768\text{ байт};\quad \dfrac{14368768}{1024} = 14368\text{ Кбайт}$$Где здесь ошибаются
Используют 12 бит на символ, хотя $2^{12} = 4096 < 4210$.
Не округляют объём одного идентификатора вверх до целого числа байт.
Забывают перевести байты в Кбайты.