- •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. Сложение и вычитание чисел в обратном и дополнительном
4. Двоичные коды
Двоичные коды удобны для ЭВМ. Для человека – десятичные, особенно при большом объеме вводимой информации. Для решения проблемы диалога человек – ЭВМ разработан ряд кодов, в которых десятичные цифры представляются последовательностями двоичных разрядов.
4.1. Взвешенные коды
Для представления десяти цифр десятичной системы в двоичной форме достаточно четырех двоичных разрядов. Для них возможны 16 двоичных комбинаций, используются только 10. Следовательно, возможно построить большое число различных кодов.
Определение Взвешенным кодовым набором называется последовательность двоичных цифр, в которой каждому разряду приписывается “вес”. Каждая группа из четырёх битов задает десятичную цифру, равную сумме весов тех двоичных разрядов, значения которых равны 1.
Пусть w1, w2 ,w3, w4 – веса двоичных разрядов, х1, х2 ,х3, х4– соответствующие им значения. Тогда десятичная цифра N=х1*w1+х2 *w2+
+х3*w3+х4*w4 представляется последовательностью двоичных цифр х1х2х3х4.
Последовательность двоичных разрядов, представляющих десятичную цифру, называется кодовым набором.
Таблица 9
Десятичная цифра |
Эквиваленты в кодах |
|||
|
8421 |
2421 |
5121 |
642-3 |
0 |
0000 |
0000 |
0000 |
0000 |
1 |
0001 |
0001 |
0001 |
0101 |
2 |
0010 |
0010 |
0010 |
0010 |
3 |
0011 |
0011 |
0110 |
1001 |
4 |
0100 |
0100 |
0111 |
0100 |
5 |
0101 |
1011 |
1000 |
1011 |
6 |
0110 |
1100 |
1001 |
0110 |
7 |
0111 |
1101 |
1101 |
1101 |
8 |
1000 |
1110 |
1110 |
1010 |
9 |
1001 |
1111 |
1111 |
1111 |
В первом коде – веса 8,4,2,1. Кодовый набор, соответствующий любому десятичному разряду, является двоичным эквивалентом этого разряда. Код называется двоично-десятичным кодом (binary decimal code).
Для каждого кода из таблицы десятичный разряд равен сумме весов тех двоичных разрядов, которые имеют 1:
8421 - 7 = 0*8+1*4+1*2+1*1;
2421 - 7 = 1*2+1*4+0*2+1*1;
5121 - 7 = 1*2+1*4+0*2+1*1;
642-3 – 7=1*2+1*4+0*2+1*1.
Очевидно, что веса могут быть и отрицательными.
Некоторые цифры могут быть представлены не единственным образом. Например,
2421 – 7 может быть представлена как 1101 и 0111;
-
- может быть представлена как 1001 и 0111;
Выбор представления чисел определяется самодополняемостью кодов.
Определение Код называется самодополняющимся, если кодовый набор дополнения числа N до 9 (9-N) может получаться из кодового набора N путем замены 1 на 0 и 0 на 1.
5121- 4 – 0111, его дополнение до 9 5 – 1000;
642-3- 4 -0100, его дополнение до 9 5 – 1011.
Код 8421 не является самодополняющимся. У самодополняющихся кодов сумма весов должна быть равна 9.
Существует 4 самодополняющихся кода с положительными весами: 2421, 3321, 4311,5121 и 13 самодополняющихся кодов с положительными и отрицательными весами.
Многоразрядные десятичные числа представляются путем объединения групп, кодирующих отдельные десятичные цифры:
8421 - 963 1001 0110 0011;
2421 - 963 1111 1100 0011.
Число битов в кодирующих группах должно быть строго фиксировано.