Номер 1. в одной из кодировок каждый символ кодируется 8 битами. вова написал текст: "белка, сурок, слон, медведь, газель, ягуар, крокодил, аллигатор - дикие животные." затем он вычеркнул из списка название одного из животных. заодно он вычеркнул ставшие лишними запятые. при этом размер нового предложения в данной кодировке оказался на 10 байт меньше, чем размер исходного предложения. напишите в ответе вычеркнутое название животного.
номер 2. в одной из кодировок unicode каждый символ кодируется 16 битами. вова написал текст: " заяц, волк, хорек, суслик, лама, медведь, гиена, аллигатор - дикие животные." затем он вычеркнул из списка название одного из животных. заодно он вычеркнул ставшие лишними запятые. при этом размер нового предложения в данной кодировке оказался на 22 байта меньше, чем размер исходного предложения. напишите в ответе вычеркнутое название животного.
Объяснение:
1) Рассмотрим 10байт=80бит, если 1 символ - 8 бит, то получается, что строка стала меньше на 10 знаков.
При вычеркивание одного слова мы еще удаляем 1 пробел и запятую, те на слово приходится 10-2 символа. 8 символов - крокодил.
2)
22байта=176 бит. Количество знаков 176/16= 11, значит на слово остается 9 символов. Это аллигатор
Исходное предложение содержит 9 названий животных: "белка", "сурок", "слон", "медведь", "газель", "ягуар", "крокодил", "аллигатор", "дикие животные".
Каждый символ кодируется 8 битами. Таким образом, каждое название животного занимает (8 бит/байт * количество символов) байтов памяти.
Рассчитаем размер исходного предложения:
(8 бит/байт * количество символов в каждом названии животного * количество животных) байтов
(8 * 5 * 27) байтов = 1080 байтов
Пусть вычеркнутое название животного состоит из N символов, тогда размер нового предложения будет равен:
(8 * 5 * (27-1) - 10) байтов
(8 * 5 * 26 - 10) байтов = (1040-10) байтов = 1030 байтов
Теперь найдем разницу между размерами нового и исходного предложений:
Разница = размер исходного предложения - размер нового предложения
Разница = 1080 байтов - 1030 байтов = 50 байтов
Так как один байт равен 8 битам, то разница в битах будет:
50 байтов * 8 бит/байт = 400 битов
Следовательно, разница в 400 битов возникает из-за вычеркнутого названия животного.
Чтобы найти количество символов в вычеркнутом названии животного, необходимо разделить 400 битов на 8 бит/символ:
400 битов / 8 бит/символ = 50 символов
Таким образом, вычеркнутое название животного состоит из 50 символов.
Номер 2. Для решения этой задачи мы будем следовать тем же шагам, что и в прошлом случае.
Исходное предложение содержит 9 названий животных: "заяц", "волк", "хорек", "суслик", "лама", "медведь", "гиена", "аллигатор", "дикие животные".
Каждый символ кодируется 16 битами. Таким образом, каждое название животного занимает (16 бит/байт * количество символов) байтов памяти.
Рассчитаем размер исходного предложения:
(16 бит/байт * количество символов в каждом названии животного * количество животных) байтов
(16 * 5 * 27) байтов = 2160 байтов
Пусть вычеркнутое название животного состоит из N символов, тогда размер нового предложения будет равен:
(16 * 5 * (27-1) - 22) байтов
(16 * 5 * 26 - 22) байтов = (2080-22) байтов = 2058 байтов
Теперь найдем разницу между размерами нового и исходного предложений:
Разница = размер исходного предложения - размер нового предложения
Разница = 2160 байтов - 2058 байтов = 102 байта
Так как каждый байт равен 8 битам, то разница в битах будет:
102 байта * 8 бит/байт = 816 битов
Следовательно, разница в 816 битов возникает из-за вычеркнутого названия животного.
Чтобы найти количество символов в вычеркнутом названии животного, необходимо разделить 816 битов на 16 бит/символ:
816 битов / 16 бит/символ = 51 символ
Таким образом, вычеркнутое название животного состоит из 51 символа.