Контрольные задания > В одной из кодировок Unicode каждый символ кодируется 16 битами. Катя и Миша переписывались по электронной почте. Миша хотел отправить Кате сообщение:
Привет, Катя! Как дела?
Миша твёрдо знает, что два пробела подряд ставить не принято. Но у Миши старая клавиатура и на ней клавиша «пробел» иногда «заедает». Из-за этого сообщение для Кати заняло 50 байт.
Определите, сколько лишних пробелов оказалось в сообщении Миши.
Вопрос:
В одной из кодировок Unicode каждый символ кодируется 16 битами. Катя и Миша переписывались по электронной почте. Миша хотел отправить Кате сообщение:
Привет, Катя! Как дела?
Миша твёрдо знает, что два пробела подряд ставить не принято. Но у Миши старая клавиатура и на ней клавиша «пробел» иногда «заедает». Из-за этого сообщение для Кати заняло 50 байт.
Определите, сколько лишних пробелов оказалось в сообщении Миши.
Разберем задачу:
1. Определим, сколько байт занимает один символ в кодировке Unicode. Так как каждый символ кодируется 16 битами, а 1 байт = 8 бит, то 1 символ занимает 16 / 8 = 2 байта.
2. Посчитаем количество символов в сообщении Миши, которое заняло 50 байт: 50 байт / 2 байта/символ = 25 символов.
3. Посчитаем количество символов в сообщении: "Привет, Катя! Как дела?" = 22 символа (включая пробелы, запятую и восклицательный знак).
4. Найдем разницу между фактическим количеством символов и тем, что должно быть: 25 символов - 22 символа = 3 символа.
5. Так как лишние символы – это лишние пробелы, значит, лишних пробелов 3.
Ответ: 3