Вопрос:

ВОПРОС 20: Каждый сотрудник предприятия получает электронный пропуск, на котором записаны личный код сотрудника, код подразделения и некоторая дополнительная информация. Личный код состоит из 17 символов, каждый из которых может быть одной из 12 допустимых заглавных букв или одной из 8 цифр (цифры 0 и 3 не используются). Для записи кода на пропуске отведено минимально возможное целое число байтов. При этом используют посимвольное кодирование, все символы кодируют одинаковым минимально возможным количеством битов. Код подразделения — натуральное число, не превышающее 1000, он записан на пропуске как двоичное число и занимает минимально возможное целое число байтов. Всего на пропуске хранится 36 байт данных. Сколько байтов выделено для хранения дополнительных сведений об одном сотруднике?

Ответ:

Решение:


1. Определение количества бит для личного кода сотрудника:


  • Всего допустимых символов для личного кода: 12 (буквы) + 8 (цифры) = 20 символов.
  • Минимальное количество бит для кодирования одного символа: \( 2^n \ge 20 \). Минимальное \( n = 5 \) бит, так как \( 2^4 = 16 \), а \( 2^5 = 32 \).
  • Общее количество бит для личного кода: 17 символов * 5 бит/символ = 85 бит.
  • Количество байтов для личного кода: \( \lceil 85 / 8 \rceil \) = 11 байт (округление до ближайшего целого байта вверх).

2. Определение количества байтов для кода подразделения:


  • Код подразделения — натуральное число, не превышающее 1000.
  • Минимальное количество бит для записи числа, не превышающего 1000: \( 2^n \ge 1000 \). Минимальное \( n = 10 \) бит, так как \( 2^9 = 512 \), а \( 2^{10} = 1024 \).
  • Количество байтов для кода подразделения: \( \lceil 10 / 8 \rceil \) = 2 байта (округление до ближайшего целого байта вверх).

3. Расчёт байтов для дополнительных сведений:


  • Общее количество байт на пропуске: 36 байт.
  • Суммарное количество байт для личного кода и кода подразделения: 11 байт + 2 байта = 13 байт.
  • Количество байтов для дополнительных сведений: 36 байт (общее) - 13 байт (личный код + код подразделения) = 23 байта.

Ответ: 23 байта.

Подать жалобу Правообладателю