4.01 Кодирование буквенной последовательности
Ошибка.
Попробуйте повторить позже
Для кодирования букв О, А, Б, Т, Ь решили использовать двоичное представление чисел 0, 1, 2, 3 и 4 соответственно (с сохранением одного незначащего нуля в случае одноразрядного представления). Закодируйте последовательность букв БОТАТЬ таким способом и результат запишите восьмеричным кодом.
Для начала представим коды для букв в двоичном виде:
О — 00
А — 01
Б — 10
Т — 11
Ь — 100
Закодируем слово БОТАТЬ — . Переведем в восьмеричную систему счисления: .
Ошибка.
Попробуйте повторить позже
Для кодирования букв О, А, Б, Т, Ь решили использовать двоичное представление чисел 0, 1, 2, 3 и 4 соответственно (с сохранением одного незначащего нуля в случае одноразрядного представления). Закодируйте последовательность букв БОТАТЬ таким способом и результат запишите шестнадцатеричным кодом.
Для начала представим коды для букв в двоичном виде:
О — 00
А — 01
Б — 10
Т — 11
Ь — 100
Закодируем слово БОТАТЬ — . Переведем в шестнадцатеричную систему счисления: .
Ошибка.
Попробуйте повторить позже
Для кодирования букв А, К, Е, Т, Р решили использовать двоичное представление чисел 0, 1, 2, 3 и 4 соответственно (с сохранением одного незначащего нуля в случае одноразрядного представления). Закодируйте последовательность букв РАКЕТА таким способом и результат запишите шестнадцатеричным кодом.
Для начала представим коды для букв в двоичном виде:
А — 00
К — 01
Е — 10
Т — 11
Р — 100
Закодируем слово РАКЕТА — . Переведем в восьмеричную систему счисления: .
Ошибка.
Попробуйте повторить позже
Для 6 букв латинского алфавита заданы их двоичные коды (для некоторых букв — из двух бит, для некоторых — из трех). Эти коды представлены в таблице:
Какой набор букв закодирован двоичной строкой 101000110100100? Буквы не могут повторяться.
Из таблицы видно, что в данной ситуации не выполнены условие Фано (кодовое слово любой буквы не является началом кодового слова другой) и обратное условие Фано (кодовое слово любой буквы не является концом кодового слова другой), поэтому код нельзя раскодировать однозначно.
Разбиваем двоичную строку на части (слева направо) с помощью данной в условии таблицы (получим 2 возможных случая):
(1) 101|000|11|01|00|100
(2) 101|00|01|101|00|100
Во (2) случае мы видим повторение кодовых слов 00 и 101. Значит, случай (2) не подходит (т.к. по условию буквы не могут повторяться).
Значит, наш ответ – (1) случай. Перепишем его, заменяя кодовые слова на буквы: 101|000|11|01|00|100 = acebdf.
Ошибка.
Попробуйте повторить позже
Для кодирования букв Ш, К, О, Л, В решили использовать двоичное представление чисел 0, 1, 2, 3 и 4 соответственно (если двоичная запись числа занимает 1 символ, к нему слева дописывается 1 незначащий ноль). Закодируйте последовательность букв ШКОЛКОВО таким способом и результат запишите восьмеричным кодом (без незначащих нулей).
Для начала представим коды для букв в двоичном виде:
Ш — 00
К — 01
О — 10
Л — 11
В — 100
Закодируем слово ШКОЛКОВО — . Переведем в восьмеричную систему счисления: .
Ошибка.
Попробуйте повторить позже
Для кодирования букв Ш, К, О, Л, В решили использовать двоичное представление чисел 0, 1, 2, 3 и 4 соответственно (если двоичная запись числа занимает 1 символ, к нему слева дописывается 1 незначащий ноль). Закодируйте последовательность букв ШКОЛКОВО таким способом и результат запишите шестнадцатеричным кодом (без незначащих нулей).
Для начала представим коды для букв в двоичном виде:
Ш — 00
К — 01
О — 10
Л — 11
В — 100
Закодируем слово ШКОЛКОВО — . Переведем в шестнадцатеричную систему счисления:
Ошибка.
Попробуйте повторить позже
Для кодирования букв О, Э, В, Р, Ж решили использовать двоичное представление чисел 0, 1, 2, 3 и 4 соответственно (с сохранением одного незначащего нуля в случае одноразрядного представления). Закодируйте последовательность букв РОЖЭВЭ таким способом и результат запишите шестнадцатеричным кодом.
Для начала представим коды для букв в двоичном виде:
О — 00
Э — 01
В — 10
Р — 11
Ж — 100
Закодируем слово РОЖЭВЭ — . Переведем в шестнадцатеричную систему счисления: .
Ошибка.
Попробуйте повторить позже
Для кодирования букв О, Э, В, Р, Ж решили использовать двоичное представление чисел 0, 1, 2, 3 и 4 соответственно (с сохранением одного незначащего нуля в случае одноразрядного представления). Закодируйте последовательность букв РОЖЭВЭ таким способом и результат запишите восьмеричным кодом.
Для начала представим коды для букв в двоичном виде:
О — 00
Э — 01
В — 10
Р — 11
Ж — 100
Закодируем слово РОЖЭВЭ — . Переведем в восьмеричную систему счисления: .
Ошибка.
Попробуйте повторить позже
Для кодирования букв А, К, Е, Т, Р решили использовать двоичное представление чисел 0, 1, 2, 3 и 4 соответственно (с сохранением одного незначащего нуля в случае одноразрядного представления). Закодируйте последовательность букв РАКЕТА таким способом и результат запишите восьмеричным кодом.
Для начала представим коды для букв в двоичном виде:
А — 00
К — 01
Е — 10
Т — 11
Р — 100
Закодируем слово РАКЕТА — . Переведем в восьмеричную систему счисления: .
Ошибка.
Попробуйте повторить позже
Все заглавные буквы русского алфавита закодированы неравномерным двоичным кодом, в котором никакое кодовое слово не является началом другого кодового слова. Это условие обеспечивает возможность однозначной расшифровки закодированных сообщений. Известно, что слову КАША соответствует код 011011010. Какое наименьшее количество двоичных знаков может содержать сообщение, кодирующее слово ОСОКА?
Начнем с расшифровку кодового слова с конца. Букве А не может соответствовать код 0, так как в начале слова есть 0, а в начале должна стоять буква К. 10 подходящий код, но стоит проверить дальше. 010 не может соответствовать А, так как в слове больше нет 010, а буквы А две в слове, 1010 не может по тем же причинам. Далее проверять нет смысла, так как с кодами длиннее мы не уместим вторую букву А. Значит, А - 10. Если перебрать варианты, получается, что 01 10 110 10 единственный подходящий порядок. Выходит, К - 01, А - 10, Ш - 110. Если перерисовать это в дерево, получим, что веточка 00 не занята, буква О встречается два раза, поэтому за 00 подвесим О. Остается разветвить 111 и за 1110 подвесить С. Минимальная длина выходит 12.
Ошибка.
Попробуйте повторить позже
Доктор Пескоедус кодирует фамилии пациентов неравномерным двоичным кодом, который удовлетворяет условию Фано. Для букв НОГЬ он использовал трехразрядное двоичное представление чисел 3, 4, 5, 6. Закодируйте слово ОГОНЬ таким образом и результат запишите в ответ.
Примечание. Прямое условие Фано означает, что ни одно кодовое слово не является началом другого кодового слова.
По условию, букве Н соответствует кодовое слово 011, О - 100, Г - 101, Ь - 110. Тогда несложно записать слово ОГОНЬ как .
Ошибка.
Попробуйте повторить позже
Машина дикая бешеная совсем взбесилась и закодировала заглавные буквы русского алфавита неравномерным двоичным кодом, удовлетворяющим условию Фано. Он вспомнил, что у всех кодовых слов длина больше символов, но при том минимально возможная. Слову ОБМАН соответствует код . Помогите машине дикой бешеной найти код для слова БОМБА.
Примечание. Прямое условие Фано означает, что ни одно кодовое слово не является началом другого кодового слова.
Так как длина каждого кодового слова не меньше символов и минимальна, а букв , то можно сделать вывод, что длина каждого кодового слова равна . Разобьём код слова ОБМАН на тройки справа налево: . Таким образом, букве О соответствует код , Б — , М — , А — , Н — . Тогда нетрудно записать код слова БОМБА, используя полученные выше коды.
Получаем ответ:
Ошибка.
Попробуйте повторить позже
Для кодирования букв , , , используются трехразрядные последовательные двоичные числа, начинающиеся с 1 (от 100 до 111 соответственно). Закодируйте таким образом последовательность символов и запишите результат в шестнадцатеричном коде.
Присвоим каждой букве свой код для кодирования: .
Тогда последовательность кодируется как: .
Разобьем последовательность на четверки справа. Получим, что . Получаем ответ: DE5
Ошибка.
Попробуйте повторить позже
Для кодирования букв А, Б, В, Г решили использовать двухразрядные последовательные двоичные числа (от 00 до 11, соответственно). Закодируйте таким образом последовательность символов ББГА и запишите полученное двоичное число в шестнадцатеричной системе счисления.
Закодируем двоичным кодом каждую букву:
А — 00
Б — 01
В — 10
Г — 11
Закодируем последовательность букв ББГА, используя кодировку букв:
Б Б Г А
01 01 11 00
Получаем ; после перевода в шестнадцатеричную сс получим 5C.
Ошибка.
Попробуйте повторить позже
Для кодирования букв A , B , C , D , E , F , G , H было решено использовать трехразрядные последовательные двоичные числа (от 000 до 111). Закодируйте последовательность символов EDFGBBAC и запишите полученное двоичное число в восьмеричной системе счисления. Систему счисления в ответе указывать не нужно.
Закодируем двоичным кодом каждую букву:
А – 000, B – 001, C – 010, D – 011, E – 100, F – 101, G – 110, H – 111
Закодируем последовательность символов EDFGBBAC, используя кодировку букв.
Получим 100011101110001001000010.
После перевода в восьмеричную систему счисления получим, что .
Ошибка.
Попробуйте повторить позже
Для кодирования букв А, Л, Р, И решили использовать двоичное представление чисел 0, 1, 2, 3 соответственно (с сохранением одного незначащего нуля в случае одноразрядного представления). Закодируйте последовательность букв ЛИРА таким способом и результат запишите десятичным кодом.
Представим числа из десятичной системы счисления в двоичную.
A | Л | Р | И |
0 | 1 | 2 | 3 |
00 | 01 | 10 | 11 |
Последовательности букв ЛИРА будет выглядеть следующим образом в 2сс: или же 120 в десятичной.
Ошибка.
Попробуйте повторить позже
По каналу связи передаются сообщения, содержащие только восемь букв: А, В, Е, З, И, Н, О, Р. Для передачи используется двоичный код, удовлетворяющий условию Фано. Кодовые слова для некоторых букв известны: А — 101, В — 010, И — 00. Какое наименьшее количество двоичных знаков потребуется для кодирования слова НЕВЕЗЕНИЕ?
Примечание. Условие Фано означает, что ни одно кодовое слово не является началом другого кодового слова.
Буква Е повторяется в слове НЕВЕЗЕНИЕ чаще всего, поэтому закодируем её кодовым словом 11. Вторая самая встречаемая буква — это Н, поэтому её закодируем словом 011. З — 1000, буквы О и Р тоже необходимо закодировать несмотря на то, что в самом слове они не используются, поэтому им выделим слова 10011 и 10010 соответственно. Тогда количество двоичных знаков, которые потребуются для слова НЕВЕЗЕНИЕ равно .
Ошибка.
Попробуйте повторить позже
Для кодирования букв Н, А, В, О, Р решили использовать двоичное представление чисел 0, 1, 2, 3, 4 соответственно (с сохранением одного незначащего нуля в случае одноразрядного представления). Закодируйте последовательность букв ВОРНАВАР таким способом и результат запишите шестнадцатеричным кодом.
Закодируем четверичным кодом каждую букву:
Н — 00
А — 01
В — 10
О — 11
Р — 100
Закодируем последовательность букв ВОРНАВАР, используя кодировку букв:
В О Р Н А В А Р
10 11 100 00 01 10 01 100
Получаем ; Переведем данное число в десятичную сс, а затем в 16-ную сс:
.
Ошибка.
Попробуйте повторить позже
Сёма кодирует слова. Для кодирования букв Д, Н, Й, А, Л, Е он решил использовать двоичное представление чисел 0, 1, 2, 3, 4, 5 соответственно (с сохранением одного незначащего нуля в случае одноразрядного представления). Сёма закодировал слово ДЕДЛАЙН и записал результат шестнадцатеричным кодом. Запишите, что получилось у Сёмы.
В двоичном представлении буквы равны: Д - 00, Н - 01, Й - 10, А, 11, Л - 100, Е - 101. Тогда, слово ДЕДЛАЙН кодируется как 0010100100111001. Теперь разобьем это представление на четверки: .