- •1.Сигнали неперервні і дискретні
- •2.Системи числення. Позиційні та непозиційні
- •6.Арифметичні операції з двійковими числами
- •7.Теорема Шеннона
- •Пример кодового дерева
- •10.Префіксний код Хаффмана
- •11.Поняття сигналу та повідомлення.
- •16.Код Хемінга. Загальне поняття.
- •Коди, що самоконтролюються
- •Коди, що самокоректуються
- •Побудова коду Хеммінга
- •Виявлення і виправлення помилки в кодах Хеммінга
- •20.Інформаційна система. Основні поняття.
- •21.Автоматизовані системи управління.
- •22.Інтелектуальні іс.
- •Класифікація ііс
- •Забезпечення роботи ііс
- •23.Вимоги до комп’ютерних іс. !??????????????????7
- •25.Жизненный цикл ас
- •26.Арифметичні операції з використанням додаткового коду числа. Віднімання чисел у додатковому коді
- •27.Методи зжаття інформації.
- •28.Тестування в розробці пз.
- •Основні поняття та визначення
- •Види тестування програмного забезпечення
- •Рівні тестування
6.Арифметичні операції з двійковими числами
Арифметичні операції у всіх позиційних системах обчислення
виконуються за одними і тими ж правилами:
- переповнювання розряду наступає тоді, коли значення числа в ньому
стає рівним або завбільшки основи;
- складання багаторозрядних чисел відбувається з урахуванням можливих
перенесень з молодших розрядів в старші;
- віднімання багаторозрядних чисел відбувається з урахуванням
можливих заїмок в старших розрядах;
- множення багаторозрядних чисел відбувається з послідовним
множенням множеного на чергову цифру множника;
- перенесення в наступний розряд при складанні і заїмка із старшого
розряду при відніманні визначається величиною основи системи обчислення;
- для проведення арифметичних операцій над числами, представленими в
різних системах обчислення, необхідно заздалегідь перевести їх в одну систему.
Складання
В основі складання двійкової системи обчислення лежить таблиця
складання однорозрядних двійкових чисел:
0 + 0 = 00
0 + 1 = 01
1 + 0 = 01
1 + 1 = 10
Як приклад складемо в стовпчик двійкові числа 1102 і 112.
1102
+
112
______
10012
Віднімання
Розглянемо віднімання двійкових чисел. В основі лежить таблиця
віднімання однозначних двійкових чисел. При відніманні з меншого числа (0)
більшого (1) проводиться заїмка із старшого розряду (в таблиці заімки
позначена 1 з межею):
13
0 - 0 = _0
0 - 1 = 11
1 - 0 = 01
1 - 1 = 00
Як приклад проведемо віднімання двійкових чисел 1102 і 112.
1102
-
112
_____
112
Множення
В основі множення лежить таблиця множення однозначних чисел:
0 · 0 = _0
0 · 1 = 11
1 · 0 = 01
1 · 1 = 00
Як приклад проведемо множення двійкових чисел 1102 і 112.
1102
х
112
______
110
110
_________
100102
Ділення
Як приклад проведемо розподіл числа 1102 на 112.
110 | 11
|____
11 10
0
14
Аналогічно, можна виконувати арифметичні дії у вісімковій і
шістнадцятковій системах обчислення.
7.Теорема Шеннона
Теорема Шеннона — Хартлі в теорії інформації — застосування теореми кодування каналу з шумом до архетипічного випадку безперервного тимчасового аналогового каналу комунікацій, спотвореного гаусівським шумом. Теорема встановлює шеннівськую ємність каналу — верхню межу максимальної кількості безпомилкових цифрових даних (тобто, інформації), яке може бути передане за такою комунікацією із зазначеною смугою пропущення в присутності шумового втручання, згідно з припущенням, що потужність сигналу обмежена, і гаусівський шум характеризується певною потужністю або потужністю спектральної густини. Закон названий на честь Клода Шеннона і Ральфа Хартлі.
9.Префіксний код Шеннона-Фано
Алгоритм Шеннона - Фано - один з перших алгоритмів стиснення, який вперше сформулювали американські вчені Шеннон і Фано (англ. Robert Fano). Даний метод стиснення має велику схожість з алгоритмом Хаффмана, який з'явився на кілька років пізніше. Алгоритм використовує коди змінної довжини: часто зустрічається символ кодується кодом меншої довжини, що рідко зустрічається - кодом більшої довжини. Коди Шеннона - Фано префіксние, тобто ніяке кодове слово не є префіксом будь-якого іншого. Ця властивість дозволяє однозначно декодувати будь-яку послідовність кодових слів.
Код Шеннона - Фано будується за допомогою дерева. Побудова цього дерева починається від кореня. Всі безліч кодованих елементів відповідає корені дерева (вершині першого рівня). Воно розбивається на дві підмножини з приблизно однаковими сумарними ймовірностями. Ці підмножини відповідають двом вершинам другого рівня, які з'єднуються з коренем. Далі кожна з цих підмножин розбивається на дві підмножини з приблизно однаковими сумарними ймовірностями. Їм відповідають вершини третього рівня. Якщо підмножина містить єдиний елемент, то йому відповідає кінцева вершина кодового дерева; таке підмножина розбиттю не підлягає. Подібним чином поступаємо до тих пір, поки не отримаємо всі кінцеві вершини. Гілки кодового дерева розмічаємо символами 1 і 0, як у випадку коду Хаффмана.
При побудові коду Шеннона - Фано розбиття множини елементів може бути вироблено, взагалі кажучи, декількома способами. Вибір розбиття на рівні n може погіршити варіанти розбиття на наступному рівні (n + 1) і призвести до неоптимальності коду в цілому. Іншими словами, оптимальна поведінка на кожному кроці шляху ще не гарантує оптимальності всієї сукупності дій. Тому код Шеннона - Фано не є оптимальним в загальному сенсі, хоча і дає оптимальні результати при деяких розподілах імовірностей. Для одного і того ж розподілу ймовірностей можна побудувати, взагалі кажучи, кілька кодів Шеннона - Фано, і всі вони можуть дати різні результати. Якщо побудувати всі можливі коди Шеннона - Фано для даного розподілу ймовірностей, то серед них будуть знаходитися і всі коди Хаффмана, тобто оптимальні коди.
