Формулы по информатике: кодирование, объём и скорость
Единицы информации, мощность алфавита, объём текста, изображения и звука, скорость передачи и системы счисления с пошаговыми расчётами.
Перед расчётом выпишите, что считается одним элементом: символ, пиксель, звуковой отсчёт или файл. Затем приведите величины к согласованным единицам. Формулы ниже описывают несжатые данные без заголовков и служебной информации, если условие не уточняет иное.
Единицы информации
Основные соотношения:
[ 1\ \text{байт}=8\ \text{бит},\qquad 1\ \text{КиБ}=1024\ \text{байта}, ]
[ 1\ \text{МиБ}=1024\ \text{КиБ},\qquad 1\ \text{ГиБ}=1024\ \text{МиБ}. ]
В школьном условии обозначения Кбайт, Мбайт и Гбайт часто используют для двоичных кратных. Если в условии прямо задан множитель 1000, применяйте его.
Пример. Переведём 3 КиБ в биты:
[ 3\cdot1024\cdot8=24576\ \text{бит}. ]
Сначала перевели кибибайты в байты, затем байты в биты. Делить на 8 здесь нельзя: исходная единица крупнее бита.
Мощность алфавита и длина кода
Если равномерный двоичный код имеет длину $i$ бит, он содержит не более
[ N=2^i ]
разных кодовых слов. Чтобы найти минимальную длину кода для алфавита мощности $N$, выбирают наименьшее целое $i$, при котором $2^i\ge N$.
Пример. Нужно закодировать 70 символов. Шести бит недостаточно: $2^6=64<70$. Семи бит достаточно: $2^7=128\ge70$. Ответ: 7 бит на символ.
Если слово длины $K$ составляют из алфавита мощности $N$ и на каждом месте разрешён любой символ, число слов равно
[ Q=N^K. ]
Пример. Из четырёх символов составляют коды длины 3. Повторы разрешены:
[ Q=4^3=64. ]
Формула неприменима, если условие запрещает повторы или вводит ограничения на соседние символы: такие случаи считают отдельно.
Объём текста
Если в сообщении $K$ символов, а один символ занимает $i$ бит, то
[ I=K\cdot i. ]
$I$ — объём сообщения, $K$ — число символов, $i$ — длина кода одного символа. Пробелы и знаки препинания тоже считают символами, если условие не говорит обратного.
Пример. В тексте 600 символов, по 16 бит каждый:
[ I=600\cdot16=9600\ \text{бит}. ]
Переведём в байты:
[ 9600:8=1200\ \text{байт}. ]
Если известны объём и длина сообщения, размер одного символа находят обратным действием: $i=I/K$.
Передача данных
При постоянной скорости действуют три связанные формулы:
[ I=v\cdot t,\qquad v=\frac{I}{t},\qquad t=\frac{I}{v}. ]
$I$ — объём данных, $v$ — скорость передачи, $t$ — время. Объём и скорость должны использовать одну единицу информации.
Пример. Файл размером 6 МиБ передают со скоростью 3 Мибит/с. Сначала переведём объём в мебибиты:
[ 6\ \text{МиБ}\cdot8=48\ \text{Мибит}. ]
Теперь найдём время:
[ t=\frac{48}{3}=16\ \text{с}. ]
Это расчёт без задержек и служебного трафика. Их учитывают только по прямому указанию.
Растровое изображение
Для палитры из $N$ цветов минимальную глубину цвета $i$ выбирают из условия $2^i\ge N$. Объём несжатого растра:
[ I=W\cdot H\cdot i, ]
где $W$ и $H$ — ширина и высота в пикселях, $i$ — бит на пиксель.
Пример. Изображение $800\times600$ пикселей использует 16 цветов. Для 16 цветов нужно $i=4$ бита, потому что $2^4=16$. Тогда
[ I=800\cdot600\cdot4=1920000\ \text{бит}. ]
Переведём в байты и кибибайты:
[ 1920000:8=240000\ \text{байт}, ]
[ 240000:1024=234{,}375\ \text{КиБ}. ]
Формула не описывает векторное изображение и реальный сжатый файл JPEG или PNG без дополнительных данных.
Цвет RGB
Если каждый из трёх каналов RGB хранится в $b$ битах, глубина пикселя равна
[ i=3b. ]
Число возможных цветов равно $2^i$.
Пример. По 8 бит на красный, зелёный и синий каналы:
[ i=3\cdot8=24\ \text{бита},\qquad N=2^{24}=16777216. ]
Альфа-канал добавляют только тогда, когда он назван в условии.
Звуковой файл
Объём несжатой записи без заголовка:
[ I=f\cdot i\cdot c\cdot t. ]
$f$ — частота дискретизации в герцах, $i$ — разрядность одного отсчёта одного канала в битах, $c$ — число каналов, $t$ — время в секундах.
Пример. Запись длится 20 секунд, частота равна 8000 Гц, разрядность — 16 бит, звук стереофонический, поэтому $c=2$:
[ I=8000\cdot16\cdot2\cdot20=5120000\ \text{бит}. ]
Переведём результат:
[ 5120000:8=640000\ \text{байт}=625\ \text{КиБ}. ]
Для моно берут $c=1$. Коэффициент сжатия применяют после расчёта исходного объёма, если условие требует.
Системы счисления
Пусть $q$ — целое основание системы, $q\ge2$; $a_k$ — цифра разряда, $0\le a_k<q$; $n$ — номер старшего разряда. Тогда развёрнутая запись числа:
[ (a_na_{n-1}\ldots a_0)q=\sum{k=0}^{n}a_kq^k. ]
Пример. Переведём $132_5$ в десятичную систему:
[ 132_5=1\cdot5^2+3\cdot5^1+2\cdot5^0=25+15+2=42_{10}. ]
Для перевода целого десятичного числа в систему с основанием $q$ делите его на $q$ с остатком и читайте остатки снизу вверх. Число $42$ при делении на 2 даёт остатки $0,1,0,1,0,1$, поэтому $42_{10}=101010_2$.
Одна восьмеричная цифра соответствует трём битам, одна шестнадцатеричная — четырём:
[ 101010_2=52_8=2A_{16}. ]
Короткая проверка
- Указано, что считается одним элементом?
- Все величины приведены к битам или к байтам до подстановки?
- Биты переведены в байты делением на 8 ровно один раз?
- Для стереозвука учтены два канала?
- Для палитры взята минимальная целая глубина цвета?
- Не добавлено сжатие, которого нет в условии?
- Результат проверен обратным действием?
Подробные объяснения: кодирование информации и системы счисления.
Источник
Охват тем 2.1–2.6 сверён с проектом кодификатора ОГЭ-2027 ФИПИ. Формулировки и примеры созданы FastLearn.