Привет!
Давай вместе посмотрим, в чем ошибка в твоем ответе и попробуем разобраться с правильным решением задачи.
Сначала нужно понять, как устроен уникальный код каждого объекта, он состоит из трех частей:
- Категория объекта – используется 6 различных символов, значит нам нужно минимум 3 бита (2^3 = 8, что позволяет закодировать до 8 различных символов, а нам нужно только 6).
- Группа объекта – здесь 11 символов из 20 возможных, для одного символа требуется 5 бит (2^5 = 32, это покроет 20 различных символов). Так как символов 11, то в сумме на всю группу потребуется 11 * 5 = 55 бит.
- Порядковый номер объекта внутри категории – число от 1 до 1999. Минимальное количество бит, которое позволяет закодировать числа до 1999 - это 11 бит (2^10 = 1024, это недостаточно, а 2^11 = 2048, так мы можем закодировать числа до 2048, в том числе и до 1999).
Теперь сложим все необходимые биты: 3 бита для категории + 55 бит для группы + 11 бит для порядкового номера = 69 бит в сумме. И поскольку в одном байте 8 бит, минимальное количество байтов, которое нам надо для хранения всего кода - это 69 / 8 = 8,625 байт. Но так как информация хранится байтами, нам нужно округлить до целого в большую сторону, т.е. 9 байтов.
Для 36 объектов потребовалось 1188 байт. Если один код занимает 9 байт, значит на дополнительные регистрационные данные потратили 1188 байт - 36 * 9 байт = 1188 байт - 324 байт = 864 байта. Остается только выяснить, сколько байтов выделяется на один объект: 864 байта / 36 объектов = 24 байта на дополнительные регистрационные данные для одного объекта.
Твой ответ "396" неверен, поскольку видимо в расчетах была допущена ошибка. Мы выяснили, что верный ответ - это "24".
Не расстраивайся из-за ошибки, на то они и ошибки, чтобы из них учиться. Теперь у тебя должно получиться решить подобную задачу правильно. Если у тебя есть еще вопросы, обязательно спрашивай!
Если мое объяснение было понятно, оцени его лайком. Если что-то осталось неясным, дай знать, и я попробую объяснить еще раз. Или ставь дизлайк, если считаешь, что мог бы сделать лучше. Давай дальше учиться вместе!
