При регистрации в компьютерной системе каждому объекту присваивается идентификатор, состоящий из 56 символов и содержащий только десятичные цифры и символы из 266-символьного специального алфавита. В базе данных для хранения каждого идентификатора отведено одинаковое и минимально возможное целое число байт. При этом используется посимвольное кодирование идентификаторов, все символы кодируются одинаковым и минимально возможным количеством бит. Определите количество идентификаторов, которое можно уместить на карте памяти объемом в 5 мБайт. В ответе запишите только целое число – количество идентификаторов.
Для начала определим количество бит, необходимых для кодирования алфавита. В алфавите 266 символов, то есть 8 бит будет недостаточно, так как их хватит закодировать только 256 символов, поэтому мы берём 9 бит для кодирования. Следующим шагом посчитаем количество бит, которое занимает один идентификатор, для этого перемножим количество символов в идентификаторе и количество бит необходимых для кодирования алфавита:
Такое количество бит занимает один идентификатор, переведём данное значение в байты:
Осталось определить сколько идентификаторов можно поместить на карту памяти объёмом в 5 мБайт. Для этого 5 мБайт переведём в байты и поделим на количество байт занимаемых одним идентификатором:
Мы получили нецелое количество идентификаторов, переведём их в меньшую сторону, так как если мы округлим в большую сторону, то в таком случае объём занимаемый всеми идентификаторами будет превышать 5 мБайт. Получим, что 83 220 идентификаторов это максимальное количество, которое можно уместить на карте памяти объёмом 5 мБайт.