Решение: Объём памяти идентификаторов
При регистрации в компьютерной системе каждому объекту присваивается идентификатор, состоящий из 260 символов и содержащий только десятичные цифры и символы из 1850-символьного специального алфавита. В базе данных для хранения каждого идентификатора отведено одинаковое и минимально возможное целое число байт. При этом используется посимвольное кодирование идентификаторов, все символы кодируются одинаковым и минимально возможным количеством бит. Определите объём памяти в Кбайт, необходимый для хранения 32 768 идентификаторов.
Решение по шагам
5 шаговОпределим мощность алфавита идентификаторов: десятичные цифры и символы специального алфавита.
$$N = 10 + 1850 = 1860$$Найдём минимальное одинаковое количество бит для кодирования одного символа. Так как $2^{10} = 1024 < 1860 \leq 2048 = 2^{11}$, требуется 11 бит.
$$i = \lceil \log_2 1860 \rceil = 11$$Объём одного идентификатора в битах равен произведению числа символов на количество бит на символ.
$$260 \cdot 11 = 2860\ \text{бит}$$Переведём объём одного идентификатора в байты и округлим вверх до целого числа байт.
$$\left\lceil \frac{2860}{8} \right\rceil = 358\ \text{байт}$$Вычислим объём памяти для 32 768 идентификаторов и переведём байты в Кбайт.
$$\frac{358 \cdot 32768}{1024} = 358 \cdot 32 = 11456\ \text{Кбайт}$$Где здесь ошибаются
Не включают десятичные цифры в мощность алфавита.
Используют 10 бит на символ, хотя $2^{10} < 1860$.
Не округляют объём одного идентификатора вверх до целого числа байт.
Переводят байты в Кбайт, деля на 1000 вместо 1024.