Решение: Объём памяти идентификаторов
При регистрации в компьютерной системе каждому объекту присваивается идентификатор, состоящий из 101 символа и содержащий только десятичные цифры и символы из 4090-символьного специального алфавита. В базе данных для хранения каждого идентификатора отведено одинаковое и минимально возможное целое число байт. При этом используют посимвольное кодирование идентификаторов, все символы кодируют одинаковым и минимально возможным количеством бит.
Определите объём памяти (в Кбайт), необходимый для хранения 16 384 идентификаторов.
Решение по шагам
4 шагаОпределим мощность алфавита идентификатора: 10 десятичных цифр и 4090 специальных символов.
$$N = 10 + 4090 = 4100$$Найдём минимальное одинаковое количество бит для кодирования одного символа. Так как $2^{12} = 4096 < 4100$, требуется 13 бит.
$$i = \lceil\log_2 4100\rceil = 13$$Вычислим объём идентификатора в битах и переведём его в байты с округлением вверх.
$$V_1 = \left\lceil\frac{101 \cdot 13}{8}\right\rceil = \left\lceil164{,}125\right\rceil = 165\ \text{байт}$$Определим объём для 16 384 идентификаторов и переведём байты в Кбайт.
$$V = \frac{165 \cdot 16384}{1024} = 165 \cdot 16 = 2640\ \text{Кбайт}$$Где здесь ошибаются
Использовать 12 бит на символ, поскольку $2^{12} = 4096$ близко к 4100, хотя этого недостаточно.
Не округлить объём одного идентификатора вверх до целого числа байт.
Перепутать количество бит и байт при расчёте объёма.