Читайте также:
|
|
В данном примере А и В – отрицательные.
В обратном коде.
Оба числа А и В переводятся в обратный код и складываются. Полученный первоначально неправильный результат компьютер исправляет переносом единицы из знакового разряда в младший разряд суммы. Затем биты цифровой части результата инвертируется в прямой код.
+ | 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 1 0 0 0 1 1. 1 1 0 1 1 0 0 | Аоб | |
1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 0 1 1 1 0 0. 0 1 1 0 1 0 1 | Воб | ||
+ | 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 0 0 0 0 0 0 0 0 0. 0 1 0 0 0 0 1 | ||
1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 0 0 0 0 0 0 0 0 0. 0 1 0 0 0 1 0 | |||
0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 1 1 1 1 1 1 1. 1 0 1 1 1 0 1 |
В обратном дополнительном коде.
Оба числа А и В переводятся в обратный дополнительный код и складываются. В результате получается дополнительный код суммы
(-А-В)Доп. При этом дополнительная единица в знаковой части отбрасывается. Полученный дополнительный код переводится в обратный вычитанием единицы, а затем цифровая часть результата инвертируется в прямой код.
+ | 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 1 0 0 0 1 1. 1 1 0 1 1 0 1 | АДоп | |
1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 0 1 1 1 0 0. 0 1 1 0 1 1 0 | ВДоп | ||
- | 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 0 0 0 0 0 0 0 0 0. 0 1 0 0 0 1 1 | (-А-В)Доп | |
1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 0 0 0 0 0 0 0 0 0. 0 1 0 0 0 1 0 | (-А-В)Об | ||
0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 1 1 1 1 1 1 1. 1 0 1 1 1 0 1 |
Проверка результата переводом из двоичной системы счисления в десятичную систему счисления.
- А - В = -988,15-547,58 = -1535,73
Перевод числа с помощью схемы Горнера:
1 0 1 1 1 1 1 1 1 1 1. 1 0 1 1 1 0 1(2) = - (1*210 +1*28 +1*27 +1*26 + 1*25 +
10 9 8 7 6 5 4 3 2 1 0 -1 -2 -3 -4 -5 -6 -7
+1*24 + 1*23 + 1*22 + 1*21 +1*20 +1*2-1 + 1*2-3 + 1*2-4 + 1*2-5 + 1*2-7)=
=-(1024+256+128+64+32+16+8+4+2+1+0,5+0,125+0,0625+ 0,03125+0,0078125) ≈ -1535,73
Умножение двоичных чисел выполняется путём образования частичных произведений и последующего их суммирования. В соответствии с табл.1.2 каждое частичное произведение равно нулю, если в соответствующем разряде множителя стоит нуль, или равно множимому, сдвинутому на соответствующее число разрядов влево, если разряде множителя стоит единица. Положение запятой определяется так же, как при умножении десятичных чисел.
Деление двоичных чисел сводится к операциям умножения и вычитания.
Для представления десятичных чисел в ЭВМ используют двухпозиционные элементы, из которых построена ЭВМ.
Таблица 3 – Арифметические операции над одноразрядными двоичными числами
Сложение | Умножение |
0 + 0 = 0 | 0 х 0 = 0 |
0 + 1 = 1 | 0 х 1 = 0 |
1 + 0 = 1 | 1 х 0 = 0 |
1 + 1 = 10 | 1 х 1 = 1 |
Вычисление произведения А*В
Умножение в двоичной системе
* | ||
Во многих компьютерах умножение производится как последовательность сложений и сдвигов. Для этого в арифметическо-логическом устройстве (АЛУ) имеется регистр, называемый накапливающим сумматором, который до начала выполнения операции содержит число ноль. В процессе выполнения операции в нем поочередно размещаются множимое и результаты промежуточных сложений, а по завершении операции — окончательный результат.
Другой регистр АЛУ, участвующий в выполнении этой операции, вначале содержит множитель. Затем по мере выполнения сложений содержащееся в нем число уменьшается, пока не достигнет нулевого значения.
Для иллюстрации умножим
А = 988,15(10)= 1 1 1 1 0 1 1 1 0 0. 0 0 1 0 0 1 1(2) на
В = 547,58(10) = 1 0 0 0 1 0 0 0 1 1. 1 0 0 1 0 1 0(2)
Операция умножения состоит из ряда последовательных операций сложения частных произведений. Операциями сложения управляют разряды множителя, а именно: если в каком-то разряде множителя находится единица, то к сумме частных произведений добавляется множимое с соответствующим сдвигом; если в разряде множителя — нуль, то множимое не прибавляется.
Таким образом, кроме операции сложения чисел для получения произведения необходима операция сдвига чисел. При этом появляется возможность сдвигать множимое или сумму частных произведений, что даёт основание для разных методов реализации операции умножения.
* | Множимое 1 1 1 1 0 1 1 1 0 0. 0 0 1 0 0 1 1 Множитель 1 0 0 0 1 0 0 0 1 1. 1 0 0 1 0 1 0 |
+ | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 1 1 1 0 0 0 0 1 0 0 1 1 1 1 1 1 0 1 1 1 0 0 0 0 1 0 0 1 1 |
+ | 1 0 0 1 1 0 1 0 0 1 1 0 0 1 0 1 1 1 1 1 0 1 1 1 1 0 1 1 1 0 0 0 0 1 0 0 1 1 |
+ | 1 0 0 0 1 1 1 0 1 1 0 1 0 0 0 1 0 1 1 1 1 1 1 0 1 1 1 1 0 1 1 1 0 0 0 0 1 0 0 1 1 |
+ | 1 1 0 0 0 0 1 0 1 1 1 0 1 1 0 1 0 1 1 1 1 1 1 1 0 1 1 1 1 0 1 1 1 0 0 0 0 1 0 0 1 1 |
+ | 1 1 0 1 1 1 0 0 1 1 1 1 1 0 1 1 0 1 1 1 1 1 1 1 1 0 1 1 1 1 0 1 1 1 0 0 0 0 1 0 0 1 1 |
+ | 1 0 0 0 1 0 0 1 0 1 0 1 0 1 0 0 0 1 1 1 0 1 1 1 1 1 1 1 1 0 1 1 1 1 0 1 1 1 0 0 0 0 1 0 0 1 1 |
1 0 0 0 0 1 0 0 0 0 0 1 1 0 1 0 0 0 0 0.0 1 1 1 0 1 1 1 1 1 1 1 1 0 |
Проверка результата переводом из двоичной системы счисления в десятеричную систему счисления.
А*В = 988,15*547,58=541091,177
Перевод числа с помощью схемы Горнера:
1 0 0 0 0 1 0 0 0 0 0 1 1 0 1 0 0 0 0 0. 0 1 1 1 0 1 1 1 1 1 1 1 1 0=
19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 -1 -2 -3 -4 -5 -6 -7 -8 - 9 -10 -11 -12 -13 -14
=1*219+ 1*214 + 1*28 + 1*27 + 1*25 + 1*2-2+ 1*2-3 1*2-4 1*2-6 1*2-7+ 1*2-8 + 1*2-9 +
+ 1*2-10+ 1*2-11+ 1*2-12+1*2-13 = 524288+16384+256+128+32+0,125+0,0625+0,015625+
+0,0078125+0,00390625+0,001953125+0,0009765625+0,0004882125+0,000244140625++0,0001220703125≈541091,177
Задания:
1) Дано целое десятичное число Х=-5010. Его 8-битный дополнительный код равен 11001110, 1001110 или 1101111. 10110001?
2) Дополнительный код числа 310 в однобайтовом формате имеет вид: 01111100, 00000011, 01111101 или 10000011? Выберите правильный ответ.
3) Определите, в какой системе счисления записано математическое выражение 122+2=201 (В 4-ной, 2-й, 8-й, 3-й)
4) При сложении 8-х чисел 2…7 получается восьмеричное число 1064. Это значит, что в первом слагаемом пропущена цифра…(7, 5, 4, 6)
5) Равенство 14+3=22 будет истинным в системе счисления с основанием … (7, 5, 10, 2)
6) При вычитании из 2-го числа 1…0 двоичного числа 1011, получено двоичное число 11. Это значит, что в уменьшаемом пропущены цифры…(11, 10,00, 01)
Дата добавления: 2015-08-09; просмотров: 84 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Сложение двоичных чисел | | | Розрахункова частина |