
- •1. Системы счисления
- •1.1. Позиционные системы счисления
- •1.2. Преобразование чисел из одной системы счисления
- •2. Двоичная арифметика
- •Проверка
- •3. Представление чисел в эвм
- •3.1. Формы представления чисел в эвм
- •Пример Представление чисел в нормализованной форме.
- •3.2. Целые беззнаковые двоичные числа
- •3.3. Целые знаковые двоичные числа
- •3. 4. Коды представления чисел в эвм
- •3.4.1. Прямой код
- •3.4.2. Обратный код
- •3.4.3. Дополнительный код
- •3.4.4. Прямой, обратный и дополнительный коды целых чисел в любой позиционной системе счисления
- •3.5. Сложение и вычитание чисел в обратном и дополнительном двоичных кодах
- •3.5.1. Сложение чисел в дополнительном коде
- •3.5.2. Сложение чисел в обратном коде
- •3.5.3. Расширение знака
- •3.5.4. Вычитание чисел в дополнительном коде
- •3.5. 5. Вычитание чисел в обратном коде
- •3.6.1. Сложение десятичных чисел в дополнительном коде
- •3.6.2. Сложение десятичных чисел в обратном коде
- •3.6.3. Вычитание десятичных чисел в дополнительном коде
- •3.6.4. Вычитание десятичных чисел в обратном коде
- •4. Двоичные коды
- •4.1. Взвешенные коды
- •4.1.1. Десятичное сложение в коде 8421
- •4.1.2. Десятичное вычитание в коде 8421
- •4.2. Невзвешенные коды
- •Пример. Кодовый набор Грея 1101101011 соответствует двоичному числу 1001001101.
- •Пример. Кодовый набор Грея 10111001 соответствует двоичному числу 11010001.
- •5. Обнаружение и исправление ошибок
- •5.1. Коды с обнаружением ошибок
- •5.2. Коды с исправлением ошибок
- •5.2.1. Основные принципы построения кодов Хэмминга с исправлением ошибок
- •5.2.2. Модификация метода четности-нечетности
- •6. Задачи для самостоятельного решения
- •6.1. Задачи для раздела 1
- •6.2. Задачи для раздела 2
- •6.3. Задачи для раздела 3
- •6.4. Задачи для раздела 4
- •6.5. Задачи для раздела 5
- •Литература
- •3.5. Сложение и вычитание чисел в обратном и дополнительном
5.1. Коды с обнаружением ошибок
Появление одиночной ошибки в одном из разрядов может привести как к запрещенному, так и к неправильному, но допустимому кодовому набору.
Пример
Код 8421. Исходное число 0110. В результате сбоя появляется 1110- запрещенный кодовый набор или 0100 – допустимый кодовый набор. Последний будет неправильно интерпретирован приемным устройством.
Определение Код с обнаружением ошибок – такой код, в котором появление любой одиночной ошибки преобразует допустимый кодовый набор в недопустимый кодовый набор.
Обнаружение ошибок в любом коде производится проверкой на четность. Эта проверка основана на присоединении к каждому кодовому набору дополнительного разряда с тем, чтобы количество единиц в любом кодовом наборе данного кода было нечетным или четным.
Таблица 13
Десятичная цифра |
BCD код с проверкой на четность 8 4 2 1 р |
Код “2 из 5”
0 1 2 4 7 |
0 |
0 0 0 0 0 |
0 0 0 1 1 |
1 |
0 0 0 1 1 |
1 1 0 0 0 |
2 |
0 0 1 0 0 |
1 0 1 0 0 |
3 |
0 0 1 1 0 |
0 1 1 0 0 |
4 |
0 1 0 0 1 |
1 0 0 1 0 |
5 |
0 1 0 1 0 |
0 1 0 1 0 |
6 |
0 1 1 0 0 |
0 0 1 1 0 |
7 |
0 1 1 1 1 |
1 0 0 0 1 |
8 |
1 0 0 0 1 |
0 1 0 0 1 |
9 |
1 0 0 1 0 |
0 0 1 0 1 |
В кодах, приведенных в таблице 13, осуществляется проверка на четность:
BCD код с проверкой на четность получается из BCD кода непосредственно. Дополнительный разряд р называется контрольным разрядом четности;
код “2 из 5”- это код, состоящий из всех десяти возможных комбинаций пятиразрядных кодовых наборов с двумя единицами. Этот код – взвешенный (кроме кодового набора для 0). Он может быть получен из двоичного кода 1247.
В каждом коде число единиц в любом кодовом наборе чётно. При появлении одиночной ошибки допустимый кодовый набор преобразуется в неправильный. Поэтому можно обнаружить ошибку.
Пусть необходимо построить двухразрядный код с проверкой на четность (нечетность). Из четырех возможных комбинаций можно сформировать 2 кода с проверкой на: а) четность 00, 11; б) нечетность 01, 10. В табл. 14 приведены кодовые наборы для двух- , трех- и четырехразрядных кодов.
Таблица 14
Двухразрядный код с проверкой на |
Трехразрядный код с проверкой на |
Четырехразрядный код с проверкой на |
|||
четность |
нечетность |
четность |
нечетность |
четность |
нечетность |
00 |
01 |
000 |
001 |
0000 |
0001 |
11 |
10 |
011 |
010 |
0011 |
0010 |
|
|
101 |
100 |
0101 |
0100 |
|
|
110 |
111 |
0110 |
0111 |
|
|
|
|
1001 |
1000 |
|
|
|
|
1010 |
1011 |
|
|
|
|
1100 |
1101 |
|
|
|
|
1111 |
1110 |
В общем случае для построения n-разрядного кода с обнаружением ошибок требуется не более половины из 2n возможных комбинаций из n разрядов. Выбор кодовых наборов производится таким образом, чтобы для преобразования одного кодового набора в другой допустимый кодовый набор, по крайней мере, два разряда должны иметь противоположные значения.
При построении кода с обнаружением ошибок для десятичных цифр необходимо использовать, по крайней мере, пять двоичных разрядов.
Определение. Кодовым расстоянием d между двумя кодовыми наборами называется число их несовпадающих разрядов.
Пример. Кодовое расстояние между 1100 и 0011 d = 4.
Определение. Минимальным кодовым расстоянием dmin называется наименьшее число разрядов, в которых различаются любые два кодовых набора.
Пример. Для кода 8421 минимальное кодовое расстояние dmin= 1, для кодов, приведенных в таблицах dmin= 2.
Правило. Код является кодом с обнаружением ошибок тогда и только тогда, когда его минимальное кодовое расстояние не меньше двух.