Пример 8
Умножить 1110 × 310 = 3310 перейдя к двоичному виду
-
1
0
1
1
×
1
1
1
0
1
1
+
1
0
1
1
1
0
0
0
0
1
Проверка: 1000012 = 1·25 + 0·24 + 0·23 + 0·22 + 0·21 + 1·20 = 3310
Пример 9
Сложение 5910 + 4410 = 10310 перейдя к шестнадцатеричному виду
-
3
В
×
2
С
6
7
Проверка: 6716 = 6·161 + 7·160 = 10310
Умножить 5910 + 4410 = 259610 перейдя к шестнадцатеричному виду
-
3
В
×
2
С
2
С
4
+
7
6
А
2
4
Проверка: А2416 = 10·162 + 2·161 + 4·160 = 259610
Дополнительный код.
Дополнительный код положительного числа совпадает с его прямым (обычным) кодом, при этом код нужно слева дополнить таким количеством нулей, чтобы не происходило переполнения разрядной сетки при вычислениях.
Замечание:
1. целесообразно выбирать разрядную сетку кратную байту, т.е 8-ми разрядам.
2. при сложении нескольких чисел результат не должен вызывать переполнение разрядной сетки.
Пример 10
30510 + 20010 = 505 > 256 = 28, т.е. 1 байта будет мало, надо 2 байта
305 + 200 = 505 = 1111110012 = 0000 0001 1111 1001 → 2 байта
6310 + 3610 = 99 < 28 → 1 байт
63 + 36 = 99 = 11000112 = 0110 0011 → 1 байт
Дополнительный код целого отрицательного числа
1. записать прямой код модуля числа (в нужном количестве разрядов)
2. инвертировать его (заменить 0 на 1 и 1 на 0).
3. прибавить к инверсному коду 1.
Пример 10
Представить в дополнительном коде -810. |-8| = 8 = 10002 = 0000 1000
-
0
0
0
0
1
0
0
0
Модуль числа – 8 в двоичной форме
1
1
1
1
0
1
1
1
Инверсия модуля отрицательного числа
+
0
0
0
0
0
0
0
1
1
1
1
1
1
0
0
0
единица в старшем разряде признак отрицательного числа
Сложение основного и дополнительного кодов дают нуль, т.е. дополнительный код дополняет до нуля.
-
0
0
0
0
1
0
0
0
8
+
1
1
1
1
1
0
0
0
- 8
1
0
0
0
0
0
0
0
0
0
Получение числа по его дополнительному коду
а) Если в коде старший бит числа равен 0, то есть число положительное. Такое число переводим в десятичную систему счисления в соответствии с правилами позиционной системы исчисления;
б) Если в коде старший бит числа равен 1, то число отрицательное, тогда:
1) инвертируем число;
2) прибавляем 1;
3) переводим в десятичную систему счисления в соответствии с правилами позиционной системы исчисления;
4) записываем со знаком «-».
Использование дополнительного кода позволяет заменить операцию вычитания на операцию сложения.
Пример 11
2510 – 510 = 2510 + (-5)10 = 2010
Пример 12
Провести следующие вычисления в двоичной форме: 2510 – 3510 = - 1010
2510 = 0001 10012 3510 = 0010 00112
|-3510| = 0010 00112 модуль числа - 3510
= 1101 11002 инверсия модуля числа - 3510
1101 11012 дополнительный код числа - 3510
-
0
0
0
1
1
0
0
1
25
+
1
1
0
1
1
1
0
1
дополнительный код числа - 3510
1
1
1
1
0
1
1
0
старший разряд 1
0
0
0
0
1
0
0
1
инверсия результата
+
0
0
0
0
0
0
0
1
+ 1
0
0
0
0
1
0
1
0
результат вычитания
Проверка: 0000 10102 = 0·27 + 0·26 + 0·25 + 0·24 + 1·23 + 0·22 + 1·21 + 0·20 = 1010