Шешімі: Мощность алфавита нөмір
На предприятии каждой изготовленной детали присваивают серийный номер, состоящий из 246 символов. В базе данных для хранения каждого серийного номера отведено одинаковое и минимально возможное число байт. При этом используется посимвольное кодирование серийных номеров, все символы кодируются одинаковым и минимально возможным числом бит. Известно, что для хранения 703 569 серийных номеров доступно не более 77 Мбайт памяти. Определите максимально возможную мощность алфавита, используемого для записи серийных номеров.
Шешімін қадамдап көрсету
5 қадамОпределим максимально допустимый размер бір серийного нөмір:
$$\left\lfloor \dfrac{77 \cdot 2^{20}}{703569} \right\rfloor = 114\ \text{байт}$$Если один символ кодируется $i$ битами, нөмір занимает:
$$L = \left\lceil \dfrac{246i}{8} \right\rceil$$Проверим $i=3$: размер номера равен $\left\lceil \dfrac{246 \cdot 3}{8} \right\rceil = 93$ байта, что допустимо.
При $i=4$ размер номера равен $\left\lceil \dfrac{246 \cdot 4}{8} \right\rceil = 123$ байта, что превышает допустимые 114 байт.
При 3 битах можно закодировать $2^3=8$ различных символов.
Где здесь ошибаются
Забывают округлить размер бір нөмір вверх до целого числа байт.
Используют 77 Мбайт как 77 000 000 байт вместо $77 \cdot 2^{20}$ байт.
Считают мощностью алфавита число бит на символ, а не $2^i$.