|
Способи перетворювання кодів ⇐ ПредыдущаяСтр 2 из 2 Перетворення цілих чисел 1-й спосіб. Ділення числа Наприклад: К=7110; 10®8. 71/8 = 8 залишок 7 = ао; 8/8 = 1 залишок 0 = а1; 1/8=0 залишок 1 = а2. ® К=1078. 2-й спосіб. Множення цифр числа К на ступені
Зручно користуватися при переведенні в десяткову систему числення з інших систем (використовується десяткова арифметика). Наприклад: К=10001112; 2®10. К=26+22+21+20=7110. 3-й спосіб. Легко перетворювати числа із системи числення з основою Таблиця 31
Для перетворення необхідно об’єднати відповідним чином розряди двійкового числа. Наприклад: 4716=0100 01112; 001 000 1112=1078. Висновок: на фізичному рівні в ЕОМ вся інформація подається двійковим кодом, хоча в повсякденному житті більш зручною залишається десяткова система кодування інформації. Класифікація (двійкових) кодів Коди діляться за кількістю застосованих кодових комбінацій на ненадлишкові (коли Ненадлишкові коди У ненадлишкових кодах застосовані всі можливі кодові комбінації Ненадлишкові коди бувають рівномірні і нерівномірні. У рівномірних кодах усі кодові комбінації мають однакову довжину і тому їх не потрібно розмежовувати (відокремлювати одну кодову комбінацію від іншої). Прикладом може бути телеграфний код, за допомогою якого передають 32 символи російського алфавіту. Код має основу Код із 5 двійкових символів (0,1). Усього з урахуванням цифр і знаків необхідно передавати 54 символи, тому вводять регістрові кодові комбінації, що настроюють приймач на прийом букв або цифр. У комп’ютерних мережах використовується восьмирозрядний двійковий код ( Виникає проблема кодування символів національних алфавітів. Двохсот п’ятдесяти шести символів недостатньо для того, щоб закодувати усі необхідні символи повідомлень. У зв’язку з цим, кодами деяких основних символів кодуються додаткові символи національних алфавітів, а при розкодуванні утворюються неоднозначності. Ця проблема особливо яскраво виявляється при прийомі повідомлень із Інтернету. Для розв’язання проблеми запропоновано запровадити Рівномірні коди не є оптимальними за числом розрядів, що припадають на один переданий символ. Як це зрозуміти? Наприклад, для передачі десяткових цифр потрібний
Звідси виникла ідея використання нерівномірних кодів, у котрих символи, які часто зустрічаються в повідомленнях, кодують більш короткими кодовими комбінаціями, а ті, що рідко – більш довгими. І таким чином можна скласти оптимальний нерівномірний код, у якому враховуються статистичні дані про частоту появи тих або інших символів у переданих повідомленнях. Як приклад нерівномірного коду розглянемо код Хаффмена для кодування десяткових цифр
У середньому для запису кодом Хаффмена однієї десяткової цифри потрібно
це майже дорівнює ентропії десяткової цифри Як правило нерівномірні коди є префіксними, тобто жодна кодова комбінація не є початком іншої, що дозволяє розшифрувати повідомлення, записане без розподілювачів. Наприклад, для коду Хаффмена: виділяють два старших біта; якщо це « До речі, рівномірні коди є префіксними за визначенням. Але щоб нерівномірні коди стали префіксними використовують специфічні прийоми на кшталт складання алгоритмів розпізнавання змісту повідомлень, наведеному вище. Надлишкові коди У надлишкових кодах загальна кількість кодових комбінацій Помилка виявлена. І тут постає питання: чи можливо її виправити? Ймовірність того, що буде перекручено два символи (подвійна помилка) значно менше. У залежності від відповіді на це питання надлишкові коди поділяють на коди з виявленням помилок і коди з виправленням помилок. 5.6.2.1. Коди з виявленням помилок Найпростіший метод виявлення помилок – це перевірка на парність (непарність) суми символів у кодовому слові. Наприклад, при передачі десяткових цифр ( Таблиця 32
Загальна кількість кодових слів Якщо через перешкоди при передачі зміниться на протилежний будь-який символ (біт) кодового слова, то число одиниць стане парним і таким чином помилка буде виявлена. Звісно виправити автоматично її не можливо. Потрібна повторна передача повідомлення. 5.6.2.2. Коди з виправленням помилок Для виправлення поодиноких помилок без повторної передачі повідомлення множину заборонених (тих, що не використовуються) кодових комбінацій Суть виправлення полягає в тому, що при прийомі забороненої (помилкової) кодової комбінації, що належить одній з підмножин, вона буде автоматично замінена дозволеною кодовою комбінацією, яка відповідає цій підмножині. Наприклад, повідомлення передають При поодинокій помилці в А1 (тобто із перекручуванням одного біта) на приймачі може бути отримана одна з таких заборонених кодових комбінацій:{ 110, 000, 011 }. Їм відповідає дозволена кодова комбінація 010. В усіх цих випадках буде правильний прийом. Відповідно при поодинокій помилці в А2 (один біт перемінить значення на протилежне), маємо іншу підмножину заборонених кодових комбінацій: { 001, 111, 100 }, їм відповідає дозволена кодова комбінація 101. Таким чином, якщо передається { 110, 000, 011, 010 } – читається як 010, якщо { 001, 111, 100, 101 } – читається як 101. Тобто поодинокі помилки не тільки виявляються, але і виправляються. При подвійних і потрійних помилках – прийом повідомлення залишається помилковим. В такому випадку приймач може й не збагнути те, що в отриманому повідомленні є помилки. Але можливість того, що буде перекручено два або більше символів в кодовому слові значно менше. ![]() ![]() ЧТО ПРОИСХОДИТ, КОГДА МЫ ССОРИМСЯ Не понимая различий, существующих между мужчинами и женщинами, очень легко довести дело до ссоры... ![]() Что делать, если нет взаимности? А теперь спустимся с небес на землю. Приземлились? Продолжаем разговор... ![]() ЧТО ПРОИСХОДИТ ВО ВЗРОСЛОЙ ЖИЗНИ? Если вы все еще «неправильно» связаны с матерью, вы избегаете отделения и независимого взрослого существования... ![]() Конфликты в семейной жизни. Как это изменить? Редкий брак и взаимоотношения существуют без конфликтов и напряженности. Через это проходят все... Не нашли то, что искали? Воспользуйтесь поиском гугл на сайте:
|