
- •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. Сложение и вычитание чисел в обратном и дополнительном
2. Двоичная арифметика
Правила выполнения арифметических действий над двоичными числами задаются таблицами двоичных сложения, вычитания и умножения.
Таблица 3
Сложение |
Вычитание |
Умножение |
0 + 0 = 0 |
0 – 0 = 0 |
0 * 0 = 0 |
1 + 0 = 1 |
1 – 0 = 1 |
1 * 0 = 0 |
0 + 1 = 1 |
10 - 1 = 1 единица заёма из старшего разряда |
0 * 1 = 0 |
1 + 1 = 0 + единица переноса в старший разряд |
1- 1 = 0 |
1 * 1 = 1 |
Замечание Возможно, что перенос единицы в старший разряд производится неоднократно.
Другой вариант таблиц двоичных сложения, вычитания и умножения имеет вид:
+ |
0 |
1 |
|
- |
0 |
1 |
|
* |
0 |
1 |
0 |
0 |
1 |
|
0 |
0 |
1 |
|
0 |
0 |
0 |
1 |
1 |
1)0 |
|
1 |
1)1 |
0 |
|
1 |
0 |
1 |
Примечание В таблице сложения 1) - единица переноса в старший разряд, в таблице вычитания 1) - единица заёма из старшего разряда.
Пример
1011101.1012 1-е слагаемое
+
111011.0112 2-е слагаемое
10011001.0002 сумма
Проверка
1-е слагаемое=1*26 +0*25 +1*24 +1*23+1*22 +0*21 +1*20 +1*2-1+0*2-2 +1*2-3= = 93.625
2-е слагаемое =1*25 +1*24 +1*23 +0*22+1*21 +1*20 +0*2-1+1*2-2 +1*2-3 =
= 59.375
сумма = 1*27+0*26 +0*25 +1*24 +1*23+0*22 +0*21 +1*20 +0*2-1+0*2-2 +0*2-3=
= 153
При вычитании двоичных чисел в данном разряде при необходимости занимается единица из следующего – старшего разряда. Эта единица равна 2 единицам данного разряда. Заём производится каждый раз, когда цифра в разряде вычитаемого больше цифры в том же разряде уменьшаемого.
Пример
11011.0112 уменьшаемое
-
1100.1112 вычитаемое
1110.1002 разность
Проверка
уменьшаемое = 1*24 +1*23+0*22 +1*21 +1*20 +0*2-1+1*2-2 +1*2-3= 27.375
вычитаемое = 1*23 +1*22+1*21 +0*20 +1*2-1+0*2-2 +0*2-3=12.875
разность = 1*23+1*22 +1*21 +0*20 +1*2-1+0*2-2 +0*2-3= 14.5
Умножение двоичных многоразрядных чисел производится путем образования частичных произведений и последующего их сложения. Другими словами, оно сводится к операциям сдвига и сложения. Положение запятой определяется так же, как и при десятичном умножении.
Пример
1101.11 множимое
* 101.01 множитель
1101 11
+ 110111
110111
1001000.00 11 произведение
Проверка
множимое = 1*23 +1*22 +0*21 + 1*20 +1*2-1 +1*2-2 = 13.75
множитель = 1*22 +0*21 + *2-0 +0*2-1 +1* 2-2 = 5.25
произведение = 1*26 +0*25 +0*24 +1*23 +0* 22 +0*21 +0*20 + 0*2-1 +0*2-2 +
+1* 2-3 +1*2-4 = 72.1875
Деление в двоичной системе выполняется аналогично делению в десятичной системе счисления.
Пример
10011.1111│111.01
делимое
100111111│111
0100
делитель
- 1110 100 10.11 частное
101 01110
- 11 10100
1 110100
-
1 110100