Решение: Мощность алфавита серийных номеров
На предприятии каждой изготовленной детали присваивают серийный номер, состоящий из 76 символов. В базе данных для хранения каждого серийного номера отведено одинаковое и минимально возможное целое число байт. При этом используется посимвольное кодирование серийных номеров, все символы кодируются одинаковым и минимально возможным числом бит. Известно, что для хранения 31 598 серийных номеров отведено не более 1894 Кбайт памяти. Определите максимально возможную мощность алфавита, используемого для записи серийных номеров.
Решение по шагам
3 шагаПереведём общий объём памяти в байты и найдём максимально возможный объём для одного серийного номера.
$$\left\lfloor\dfrac{1894 \cdot 1024}{31598}\right\rfloor = 61\text{ байт}$$Пусть каждый символ кодируется $i$ битами. Тогда 76 символов занимают $76i$ бит, или $\left\lceil\dfrac{76i}{8}\right\rceil$ байт.
$$\left\lceil\dfrac{76i}{8}\right\rceil \leq 61$$Проверим максимально возможное число бит на символ: при $i=6$ требуется $\left\lceil\dfrac{76 \cdot 6}{8}\right\rceil = 57$ байт, а при $i=7$ — $\left\lceil\dfrac{76 \cdot 7}{8}\right\rceil = 67$ байт. Значит, $i=6$.
$$2^6 = 64$$Где здесь ошибаются
Не переводят Кбайт в байты.
Забывают округлить объём одного номера вверх до целого числа байт.
Используют число бит на символ вместо мощности алфавита.