Каждый сотрудник предприятия получает электронный пропуск, на котором записаны личный код сотрудника, код подразделения и некоторая дополнительная информация. Личный код состоит из 13 символов, каждый из которых может быть одной из 16 допустимых заглавных букв или одной из 10 цифр. Для записи личного кода используют посимвольное кодирование, все символы кодируют одинаковым минимально возможным количеством бит. Код подразделения состоит из двух натуральных чисел, не превышающих 100, каждое из которых кодируется как двоичное число и занимает минимально возможное целое число бит. Личный код и код подразделения записываются подряд и вместе занимают минимально возможное целое число байт. Всего на пропуске хранится 32 байт данных. Сколько байт выделено для хранения дополнительных сведений об одном сотруднике?
26
Объяснение:
В каждой позиции личного кода может присутствовать один из символов ( заглавных букв, строчных букв, цифр). Двоичный код длины позволяет закодировать различных символов, значит, для кодирования различных символов необходим код длиной бит.
Личный код содержит символов, для них требуется бит. В одном байте бит, минимальное целое число байтов для хранения бита равно .
Для кодирования целого числа от до необходимо бит, значит, номер подразделения занимает байт.
Из байт занимает личный код, – номер подразделения, остаётся байт.
Из условия задачи известно, что личный код содержит 13 символов, каждый из которых может быть одной из 16 допустимых заглавных букв или одной из 10 цифр. Для записи каждого символа достаточно одного байта, поскольку все символы кодируют одинаковым минимально возможным количеством бит.
Таким образом, личный код занимает 13 байт.
Код подразделения состоит из двух натуральных чисел, каждое из которых может быть представлено двоичным числом. Максимальное значение этих чисел - 100, следовательно, для представления каждого числа достаточно 7 бит.
Таким образом, код подразделения занимает 2 * 7 = 14 бит.
Всего на пропуске хранится 32 байта данных. Нам уже известно, что личный код и код подразделения занимают 13 + 14 = 27 байт. Остается выяснить, сколько байтов выделено для хранения дополнительных сведений об одном сотруднике.
Для этого вычтем из общего количества байт 27:
32 - 27 = 5
Таким образом, для хранения дополнительных сведений об одном сотруднике выделено 5 байтов.