Шешімі: Мощность алфавита серийных нөмір
На предприятии каждой изготовленной детали присваивают серийный номер, состоящий из 157 символов. В базе данных для хранения каждого серийного номера отведено одинаковое и минимально возможное целое число байт. При этом используется посимвольное кодирование серийных номеров, все символы кодируются одинаковым и минимально возможным числом бит. Известно, что для хранения 12 450 серийных номеров отведено не более 955 Кбайт памяти. Определите максимально возможную мощность алфавита, используемого для записи серийных номеров.
Шешім по шагам
4 қадамПереведём общий объём памяти в байты и найдём максимально допустимый объём для одного серийного номера.
$$955 \cdot 1024 = 977920\ \text{байт},\qquad \left\lfloor\frac{977920}{12450}\right\rfloor = 78\ \text{байт}$$Пусть один символ кодируется $i$ битами. Тогда 157 символов занимают $157i$ бит, то есть $\left\lceil\frac{157i}{8}\right\rceil$ байт.
Проверим максимально возможное число бит на символ. При $i=3$ номер занимает $\left\lceil\frac{157 \cdot 3}{8}\right\rceil = 59$ байт, а при $i=4$ — $\left\lceil\frac{157 \cdot 4}{8}\right\rceil = 79$ байт, что превышает допустимые 78 байт.
При 3 битах можно закодировать $2^3$ различных символов.
Где здесь ошибаются
Не учитывать округление объёма бір нөмір вверх до целого числа байт.
Использовать 955 вместо 955 · 1024 при переводе Кбайт в байты.
В качестве ответа записать число бит на символ, а не мощность алфавита.