Найти в Дзене
Романов учит

Разбор всех задач с kompege.ru Ч.28

Не забывайте подписываться на канал! Таким образом вы помогаете выходу новых разборов! В компьютерной системе каждому астероиду крупнее 1км присвоен уникальный идентификатор. Предполагается, что подобных тел в солнечной системе не более 2 млн. Каждый астероид относят к одному из 15 классов и не более 15 подклассов. Параметры орбиты описаны вектором в 8 чисел.
Геометрия астероида описана 3 числами одинарной точности. Период вращения 1 число. И еще 2 числа на ось вращения. Все числа одинарной точности (32 бита на число). В базе данных для хранения поля идентификатора, поля класса/подкласса, и дополнительных данных отведено одинаковое и минимально возможное целое число байт. Определите объём памяти в байтах, необходимый для хранения 128 объектов. Аналитически: 1. Размер идентификатора: 2. Размер класса и подкласса: 3. Размер дополнительных данных: 4. Общий размер одной записи: 5. Общий объём для 128 объектов: 128 × 60 = 7 680 байт Все поля действительно укладываются в минимальное целое
Оглавление
Не забывайте подписываться на канал! Таким образом вы помогаете выходу новых разборов!

№ 1750 Danov2102 (Уровень: Сложный)

В компьютерной системе каждому астероиду крупнее 1км присвоен уникальный идентификатор. Предполагается, что подобных тел в солнечной системе не более 2 млн. Каждый астероид относят к одному из 15 классов и не более 15 подклассов. Параметры орбиты описаны вектором в 8 чисел.
Геометрия астероида описана 3 числами одинарной точности. Период вращения 1 число. И еще 2 числа на ось вращения. Все числа одинарной точности (32 бита на число). В базе данных для хранения поля идентификатора, поля класса/подкласса, и дополнительных данных отведено одинаковое и минимально возможное целое число байт. Определите объём памяти в байтах, необходимый для хранения 128 объектов.

-2

Аналитически:

1. Размер идентификатора:

  • Максимальное количество астероидов: 2 млн (2 000 000)
  • Минимальное количество бит для ID: log₂2 000 000 = 21 бит
  • В байтах: 21/8 = 3 байта

2. Размер класса и подкласса:

  • Класс: 15 вариантов → 4 бита (log₂15 = 4)
  • Подкласс: 15 вариантов → 4 бита
  • Итого: 8 бит = 1 байт

3. Размер дополнительных данных:

  • Параметры орбиты: 8 чисел × 32 бита = 256 бит
  • Геометрия: 3 числа × 32 бита = 96 бит
  • Период вращения: 1 число × 32 бита = 32 бита
  • Ось вращения: 2 числа × 32 бита = 64 бита
  • Всего: 256 + 96 + 32 + 64 = 448 бит = 56 байт

4. Общий размер одной записи:

  • ID: 3 байта
  • Класс/подкласс: 1 байт
  • Данные: 56 байт
  • Итого: 60 байт

5. Общий объём для 128 объектов:

128 × 60 = 7 680 байт

Проверка:

Все поля действительно укладываются в минимальное целое число байт:

  • ID: 21 бит → 3 байта (24 бита)
  • Класс/подкласс: 8 бит → 1 байт
  • Данные: 448 бит → 56 байт
Если вам понравился разбор - можете поддержать автора с помощью функции "доната". Спасибо

Если у вас остались вопросы, хотите разобраться, хотите подготовиться к ЕГЭ/ОГЭ по информатике или изучить программирование на языке Python - добро пожаловать на пробный урок в телеграм t.me/MikhailRomanov

А также ставьте лайк, пишите комментарии.
ЖМИ НА ССЫЛКУ СНИЗУ ДЛЯ НАВИГАЦИИ ПО РЕШЕНИЯМ
Тут все разборы собраны воедино