- •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. Сложение и вычитание чисел в обратном и дополнительном
3.4.4. Прямой, обратный и дополнительный коды целых чисел в любой позиционной системе счисления
Понятие прямого, обратного и дополнительного кода распространяется на системы счисления с любым основанием b. При этом операция инвертирования цифры превращается в нахождение дополнения до b-1.
Таблица 7
Определение кода для целых чисел |
Пример n= 3; X=(43)10; X =(-43)10; |
Правило |
X , X ≥ 0; Xпр = A+│X│, X ≤ 0, А = b n-1. |
Xпр = 043 Xпр = 143 100 + 43 143 |
модуль в цифровых разрядах сетки; в старший (знаковый) разряд: 0, если число положительное ; 1, если число отрицательное. |
X, X ≥ 0; Xобр = B -│X│, X ≤ 0, B = bn-1. |
Xобр = 043 999 Xобр = 956 - 43 956
|
положительное число – код совпадает с прямым; отрицательное число – дополнение разрядов n-битного модуля числа до старшей цифры системы счисления . |
|
|
|
Окончание таблицы 7 |
||
Определение кода для целых чисел |
Пример n= 3; X=(43)10; X =(-43)10; |
Правило |
X , X ≥ 0; Xдоп = С -│X│,X< 0, С = bn. |
Xдоп = 043 Xдоп = 957 1000 - 43 957
|
положительное число – код совпадает с прямым; отрицательное число – дополнение разрядов n-битного модуля числа до старшей цифры системы счисления + 1 в младший разряд. |
Пример n =5
X = (-736)8 Xпр = 10736 Xобр = 77041 Xдоп = 77042
Пример n =4
X = (-3A7)16 Xпр = 13A7 Xобр = FC58 Xдоп = FC59
3.5. Сложение и вычитание чисел в обратном и дополнительном двоичных кодах
3.5.1. Сложение чисел в дополнительном коде
Если складываются два числа, записанные в системе с дополнительным кодом, то возможны 4 случая:
а) Оба числа положительные. Складываются два положительных числа четырёхразрядных числа. n = 5.
Десятичное сложение |
Двоичное сложение |
Сложение в дополнительном коде |
+310 + +410 +710 |
+00112 + +01002 +01112 |
000112 + 001002 001112 |
б) Одно из чисел положительное, а другое – отрицательное. Положительное число больше по модулю отрицательного. n = 5.
Десятичное сложение |
Двоичное сложение |
Сложение в дополнительном коде |
+710 + -310 +410 |
+01112 + -00112 +01002 |
001112 + 111012 (1)001002 перенос отбрасывается! |
в) Числа имеют разные знаки. Отрицательное число больше по модулю положительного числа. n = 5.
Десятичное сложение |
Двоичное сложение |
Сложение в дополнительном коде |
+310 + -410 -110 |
+00112 + -01002 -00012 |
000112 + 111002 111112 |
+310 + -310 010 |
+00112 + -00112 00002 |
000112 + 111012 (1)000002 перенос отбрасывается! |
г) Оба числа отрицательные. n = 5.
Десятичное сложение |
Двоичное сложение |
Сложение в дополнительном коде |
-310 + -410 -110 |
- 00112 + - 01002 - 01112 |
111012 + 111002 (1)110012 перенос отбрасывается |
Правило сложения чисел в дополнительном коде Коды обоих чисел суммируются по правилам двоичного сложения разряд за разрядом, включая знаковые. Возможный перенос из старшего разряда отбрасывается.