Умножение чисел на ДСОК
Умножение чисел на ДСОК при положительном и отрицательном множителе. Умножение операндов заданных в обратном модифицированном коде. Прибавление поправок к полученному произведению обратных кодов сомножителей. Примеры машинного изображения чисел.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | контрольная работа |
Язык | русский |
Дата добавления | 25.03.2012 |
Размер файла | 19,4 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
1. Умножение чисел на ДСОК при положительном множителе
По аналогии с ДСДК, при умножении операндов заданных в обратном модифицированном коде, рассмотрим два случая: В > 0 и В < 0.
Случай В > 0. Произведение обратных модифицированных кодов сомножителей равно обратному коду результата только в случае положительного множителя.
Доказательство: Пусть множимое А = Аобр., а множитель В > 0. Тогда
А*В=Адоп.м* 0, b1b2…Вn = Адоп.м * b1*2-1 + Адоп.м. * b2*2-2 + … + Адопм* bn*2-n.
В правой части получается обратный код результата т.к. В=Вобр Значить, множитель В положительный.
Умножение на ДСОК (при В>0) выполняется в следующей последовательности:
- в сумматор записываются 11.111…1 (машинный ноль обратного кода);
- в регистр В записывается множитель в прямом коде. Ведется анализ разрядов РгВ (начиная с младшего), и если там «1», то к содержимому сумматора добавляется обратный код множимого. Если там 0, то к сумматору ничего не добавляется;
- после цикла анализа (сложения), производится сдвиг вправо содержимого сумматора и РгВ на один разряд (можно с переносом младших разрядов сумматора в старшие разряды РгВ);
- если знак результата отрицательный, то он в дополнительном коде и необходим перевод в прямой код;
после перевода в прямой код, проверить нормализацию результата.
2. Умножение чисел на ДСОК при отрицательном множителе
умножение число машинный обратный
Случай В< 0. Если множитель отрицательный, то произведение чисел на сумматоре ДСОК получается прибавлением поправок к полученному произведению обратных кодов сомножителей.
Доказательство. Пусть А = [А]обр и В < 0, тогда [В]обр =1, b1, b2…Вn, а в соответствии с представлением в форме с плавающей запятой, фиксированной перед старшим разрядом следовательно,
В = 0, b1, b2…bn + 2-n -1, произведение будет равно:
А*В =Аобр*0, b1, b2…bn +[А]о6р. -2-n+Аобр.
Алгоритм. Умножение на ДСОК (при В< 0) выполняется в следующей последовательности:
- в сумматор записываются 11.111…1 (машинный ноль обратного кода);
- в регистр В записывается множитель в обратном коде (без знака);
- в сумматор добавляется множимое в обратном коде Аобр.;
- ведется анализ разрядов РгВ (начиная с младшего), и если там «1», то к содержимому сумматора добавляется обратный код множимого. Если там 0, то к сумматору ничего не добавляется;
- после цикла анализа (сложения), производится сдвиг вправо содержимого сумматора и РгВ на один разряд (можно с переносом младших разрядов сумматора в старшие разряды РгВ);
- после анализа и сдвига старшего разряда множителя к результату добавляют поправку [Аобр.] - инверсия Аобр., включая и знак;
- если знак результата отрицательный, то он в дополнительном коде и необходим перевод в прямой код;
- после перевода в прямой код, проверить нормализацию результата.
Пример. Метод 2 умножение чисел на ДСОК.
А = -0,110101, В = -0,101000. А*В=2120.
Решение: Запишем машинное изображение чисел.
Амо6р = 11.001010; В*^ - 11.010111; = 00,110101.
С учетом разрядов РгВ будем иметь 100.100001000111. Переполнение в знаковом разряде поступает на суммирование в младший разряд числа. Тогда, получим ответ:
Спр.= 00.100001001000=2120 (10).
Если в качестве множителя выступает число из степенного ряда весовых значений бинарной системы, то умножение производится простым сдвигом числа влево на число разрядов равное степени множителя.
Например. Умножить А=0,00011 *22= 0,01100.
Существует ряд методов умножения основанных на раздельном Суммировании групп частных производных с последующим объединением сумм с учетом переносов. Такая раздельная обработка промежуточных сумм и переносов требует так называемого «дерева сумма - торов». (IВМ-360).
Произведение двух чисел можно получить, если суммировать элементы матрицы в диагональном порядке. Так как складывать приходится только 0 или 1, то операцию сложения можно выполнять с помощью полусумматоров и сумматоров на один двоичный разряд.
Наибольшее распространение получили алгоритмы Дадда, Уоллеса (матричный) и алгоритм сохранения переносов.
Алгоритмы отличаются друг от друга группировкой частных произведений, количеством ступеней преобразований. Для матричного алгоритма - 4 ступени преобразования, для алгоритма Дадда - 3 ступени. Однако, матричные методы умножения, несмотря на большее оборудование, дают больший выигрыш времени, а использование БИС значительно снижает ограничение на оборудование. Рассмотренные методы умножения нашли широкое применение в практике бинарной арифметики.
Размещено на Allbest.ru
Подобные документы
Выполнение операции деления в ЭВМ. Умножение чисел, представленных в форме с плавающей запятой. Методы ускорения операции умножения. Матричный метод умножения. Деление чисел в машинах с плавающей запятой. Деление чисел с восстановлением остатков.
реферат [49,4 K], добавлен 18.01.2011Синтез множительного устройства для умножения чисел с плавающей запятой, представленных в двоично-четверичной системе счисления. Перевод сомножителей из десятичной системы счисления в четверичную. Затраты на умножение шестиразрядных сомножителей.
курсовая работа [133,5 K], добавлен 06.10.2011Характеристика таблицы умножения Пифагора; ее применение. Русские математические изобретения, основанные на манипуляциях, которые приводят к нужному результату. Изучение алгоритма работы русского крестьянского способа умножения. Вычисление длинных чисел.
курсовая работа [1,2 M], добавлен 05.12.2013Разработка алгоритма работы блока сложения дробных двоичных чисел в обратном модифицированном коде с фиксированной запятой. Определение состава узлов и управляющих сигналов блока по схеме электрической функциональной, описание его принципа работы.
реферат [415,8 K], добавлен 29.11.2010Числа с фиксированной точкой характеризуются длиной слова в битах, положением двоичной точки, бывают беззнаковыми или знаковыми. Позиция двоичной точки определяет число разрядов в целой и дробной частях машинного слова. Представление отрицательного числа.
лабораторная работа [156,7 K], добавлен 31.05.2009Примеры правила перевода чисел с одной системы в другую, правила и особенности выполнения арифметических операций в двоичной системе счисления. Перевод числа с десятичной системы в двоичную систему счисления. Умножение целых чисел в двоичной системе.
контрольная работа [37,3 K], добавлен 13.02.2009Свободная среда разработки программного обеспечения для компилятора Free Pascal. Библиотека визуальных компонентов. Перенос Delphi-программ с графическим интерфейсом в различные операционные системы. Ввод размерности матрицы и умножение ее на вектор.
контрольная работа [16,9 K], добавлен 09.10.2013Разработка алгоритма выполнения операций умножения двоичных чисел в формате расширенной точности на сумматоре обратного кода. Преобразование входной строки в десятичное число. Разработка алгоритма арифметической операции. Тестирование программы-эмулятора.
курсовая работа [119,1 K], добавлен 24.06.2012Разработка функциональной схемы управляющего микропрограммного автомата. Построение графов автомата для модели Мили и Мура. Кодирование состояний для модели Мура на D-триггерах. Алгоритм умножения чисел в дополнительном коде с простой коррекцией.
курсовая работа [764,0 K], добавлен 27.08.2012Формирование устойчивой последовательности псевдослучайных чисел с использованием метода "середины квадрата". Разработка программы для определения среднего значения чисел, среднего значения квадратов чисел и дисперсии для последовательности из 20 чисел.
лабораторная работа [1,4 M], добавлен 21.01.2015