Твой ответ на задание неверен.
В задании описывается методика кодирования данных 3-х частей категории, группы и порядкового номера объекта. Для кодирования мы используем минимальное возможное количество бит.
Зафиксируем ряд обозначений:
- N - общее количество объектов (36)
- M - количество байт, выделенных для хранения регистрационных данных одного объекта
- M_total - общее количество байтов для хранения регистрационных данных у всех объектов
- B - минимальное количество байтов для хранения кода объекта
- L - количество бит для кодирования символа в части кода
Теперь мы можем составить следующие формулы:
- B = ceiling((log2(6) + 11 * log2(20) + log2(1999))) - для хранения трёх частей кода, каждая кодируется независимо
- M_total = N * M - общее количество байтов для хранения регистрационных данных у всех объектов
- B_total = N * B - общее количество байтов для хранения кода объектов
- Общее количество байтов для хранения объектов и регистрационных данных: M_total + B_total
- M = (M_total + B_total) / N - количество байтов для хранения регистрационных данных одного объекта
Из условия имеем, что M_total + B_total = 1188 байт. Подставляя это условие в последнюю формулу, получаем:
- M = (1188 + N * B) / N
Далее, подставим в формулу значение B, для нахождения M:
- B = ceiling((log2(6) + 11 * log2(20) + log2(1999))) = 42
- M = (1188 + 36 * 42) / 36 = 24
Итак, правильный ответ: "24".
Проверь мой ответ лайком, если объяснение понятно и полезно!
