Решение: Хранение идентификаторов
При регистрации в компьютерной системе каждому объекту присваивается идентификатор, состоящий из 268 символов и содержащий только десятичные цифры и символы из 2000-символьного специального алфавита. В базе данных для хранения каждого идентификатора отведено одинаковое и минимально возможное целое число байт. При этом используется посимвольное кодирование идентификаторов, все символы кодируются одинаковым и минимально возможным количеством бит. Определите объём памяти (в Кбайт), необходимый для хранения 4096 идентификаторов.
Решение по шагам
4 шагаОпределим мощность алфавита идентификатора: 10 десятичных цифр и 2000 специальных символов.
$$N = 10 + 2000 = 2010$$Минимальное одинаковое количество бит для кодирования одного символа определяется неравенством $2^i \geq 2010$.
$$2^{10} = 1024 < 2010 \leq 2048 = 2^{11},\quad i = 11$$Объём одного идентификатора в битах и байтах:
$$268 \cdot 11 = 2948\text{ бит};\quad \left\lceil\frac{2948}{8}\right\rceil = 369\text{ байт}$$Найдём объём памяти для 4096 идентификаторов и переведём его в Кбайты.
$$\frac{4096 \cdot 369}{1024} = 4 \cdot 369 = 1476\text{ Кбайт}$$Где здесь ошибаются
Не учитывать десятичные цифры и брать размер алфавита равным 2000.
Округлять объём одного идентификатора до байтов после умножения на количество идентификаторов.
Забыть округлить 2948 бит до целого числа байт.
Перепутать 1 Кбайт и 1000 байт вместо 1024 байт.