Как посчитать информационный объём текста через 2 байта на символ (содержательный подход)?
В задаче сказано: каждый символ кодируется 2 байтами (Unicode/UTF-16). Текст содержит 200 символов. Нужно найти его информационный объём в байтах и в килобайтах. Я знаю про алфавитный подход с мощностью алфавита, но тут просто дано 2 байта на символ — как считать в этом случае?
2 ответа
Если в условии прямо дано число байт (или бит) на символ — алфавитный подход не нужен, считаешь в лоб:
объём = число символов × вес одного символа
Для твоей задачи:
- 200 символов × 2 байта = 400 байт.
- В килобайтах: 400 / 1024 ≈ 0,39 Кбайт (помни: 1 Кбайт = 1024 байта, а не 1000!).
Если бы спрашивали в битах: 400 байт × 8 = 3200 бит. Главное — не перепутать байты и биты и делить на 1024, а не на 1000.
Подсказка, когда какой подход: «дано N байт/бит на символ» → просто умножаешь. «Дан алфавит из K символов» → сначала находишь бит на символ как наименьшее i, где 2ⁱ ≥ K, и только потом умножаешь на число символов. Это два разных сценария, не путай их.