Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

шпорки) , 1ый семестр (Луцик Ю) / 12Умножение в дополнительных кодах

.txt
Скачиваний:
27
Добавлен:
15.06.2014
Размер:
1.19 Кб
Скачать
12Умножение в дополнительных кодах
Умножение чисел в дополнительных кодах может выполняться по любому из рассмотренных выше четырех алгоритмов, но отличается тем, что для получения верного результата необходимо вводить поправки. Умножение правильных дробей и целых чисел имеет некоторые различия. Умножении целых чисел. При представлении целых чисел в дополнительном коде знаковый разряд входит в число n разрядов. Следовательно, при умножении целых чисел (в отличие от дробных) в дополнительных кодах знаковый разряд участвует в умножении наряду со значащими. То есть умножение ведется на [Mт]доп , а не на Мт .
1) Mн > 0,
Mт > 0.
2) Мн>0,
Mт<0,
[Мт]доп = 2n - Мт.
?=22n-Mн?Мт-2nMн+Mн?Мт=22n-2n Mн =22n [-Мт]доп= =22n[ [Мт]доп]доп
3) Мн<0,
Мт>0.
Здесь, как и при умножении дробных чисел, возможны два случая: a) с вводом поправки в получаемое произведение [Мн]доп = 2n - Mн. = 22n - Мн?Мт - 2n ? Мт + Мн?Мт = 2n(2n - Мт) = [Мт]доп ? 2n
б) вариант без ввода поправки справедливо для всех алгоритмов
4) Mн < 0
Mт < 0
[Mн]доп = 2n - Mн,
[Mт]доп = 2n - Mт,
Mн ?Mт = 22n - [Mн Mт]доп.
= [-Mн]доп = [[Mн]доп]доп