Умножение двоичных чисел в столбик

Умножение двоичных чисел в столбик

Ваша задача будет решена с вашими исходными данными OnLine и бесплатно

Задача:

Выполнить умножение чисел A = 1210 и B = 910 в двоичной системе счисления.

Решение:

1) Переведем числа в двоичную систему счисления:
1210 = 11002
910 = 10012

2) Запишем числа "A" и "B" столбиком, одно под другим, начиная с младших разрядов (нумерация разрядов начинается с нуля).

Разр. 8 7 6 5 4 3 2 1
A 1 1
B 1 1

3) Умножим последовательно все разряды числа "A" на младший разряд "B" записывая результат внизу, под сомножителями, начиная с младших разрядов.

Правила поразрядного умножения, для двоичной системы счисления, очень просты. В результирующем разряде будет единица только в одном случае, когда оба сомножителя содержат единицы в соответсвующем разряде. Во всех других случаях в результирующем разряде будет ноль. Это можно записать в виде простой таблицы:

Ai Bi Ci
1
1
1 1 1

4) Таким же образом умножим последовательно все разряды числа "A" на следующий разряд "B" записывая результат внизу, под сомножителями, со сдвигом на один разряд влево.

5) Сложим полученные на последних двух шагах двоичные числа. Как это сделать можно посмотреть в примере на сложение.

Шаги 4 и 5 будем повторять до тех пор пока не исчерпаем все разряды множителя.

Весь процесс умножения наших чисел выглядит следующим образом:

Разр. c 8 7 6 5 4 3 2 1
A 1 1
B 1 1
1100 x 1 1 1
1100 x 0
1100 + 0 1 1
1100 x 0
1100 + 0 1 1
1100 x 1 1 1
1100 + 1100000 1 1 1 1

Ответ: 11002 x 10012 = 11011002

или в десятичной системе счисления: 1210 x 910 = 10810

11.1 Методы умножения бинарных чисел

Рассмотрим основные способы выполнения операции умножения для различных систем cчисления. Самым распространенным способом умножения чисел является способ поразрядного умножения множимого на множитель, начиная с младшего разряда — 1-й способ, начиная со старшего разряда – 2-способ.

Анализ способов умножения чисел в десятичной системе счисления показывает, что операция умножения состоит из поразрядного умножения множимого на множитель с переносом переполнения в старший разряд, сдвига частных произведений на один разряд влево (вправо), суммирование частных произведений.

Читайте также:  Как вычислить синус через косинус

В двоичном счислении эта задача значительно упрощается, т.к. умножать поразрядно нет необходимости. В самом деле, если умножать множимое на "1", то это повторение множимого со сдвигом на один разряд вправо (влево), а на "0" — записываются одни нули со сдвигом.

В обоих случаях операция умножения состоит из ряда последовательных операций сдвига и сложения частных произведений. Таким образом, операция умножения сводится к сложению частных произведений, которые получаются из множимого с соответствующим сдвигом или нулей, если в разряде множителя "нуль", или множимого, если в разряде множителя 1. Рассмотрим, как производит умножение компьютер.

11.2 Умножение чисел с фиксированной запятой на дспк

Запишем машинное изображение множимого и множителя в форме с фиксированной запятой в прямом коде. Anp=SgA,α1α2. αn; Bпр=SgB,b1b2. bn. Тогда, их произведение запишется как Cnp=Sgc,с1с2. сn, где Sgc= SgASgB, где  — знак сложения по mod2. (1)

Таким образом, при использовании ДСПК, знак произведения определяется отдельно от цифровой части, затем выполняется операция умножения. Она выполняется в соответствии с заданной структурой множительного устройства (см. например, рисунок 11.1).

Рисунок 11.1-Структурная схема устройства умножения

По методу 2 умножение начинается с младшего разряда и сдвигается вправо сумма частных произведений.

Пример. Умножить числа Апр = 1,11010 = — 26; Впр, = 0,11001 = 25, С= -650.

Решение: Определяется знак произведения 1 0 =1

Зададим: 1) сумматор имеет 10 разрядов (без знака).

2) регистры имеют по 5 разрядов (без знака).

Последовательность действий представим таблицей 11.1.

Для упрощения записи таблиц, принимаем следующие условные обозначения:

-оператор := присваивания значения (блоку слева присваивается значение, указанное справа от операнда);

-оператор  сдвига содержимого, например, сдвиг регистра А вправо на один разряд;

Читайте также:  Как создать хранимую процедуру в sql

-обозначения, например, [См] — содержимое сумматора;

-обозначение И. П. — исходное положение;

-обозначения Апр., Впр. — цифровая часть множимого и множителя в прямом коде.

Если при умножении возникает единица переноса из старшего разряда, то ее сохраняют путем сдвига  т.е. необходимо предусматривать в цифровом автомате стробирование сигнала переполнения для выработки сдвига на один разряд.

Этот способ умножения получил наибольшее распространение в практике цифровых автоматов.

11.3 Умножение чисел с плавающей запятой

Так как числа с плавающей запятой представляются мантиссой и порядком, то выполнение операции умножения состоит из двух действий:

Результат умножения может получиться денормализованным, поэтому требуется проверка на нормализацию числа и, при необходимости, его нормализация с соответствующей коррекцией порядка результата. Устройство умножения чисел с плавающей запятой представлено автоматом со структурой рисунка 11.2.

Пример. А= – 0,11001*2 –-3 ; В=0,10011*2 1

Сложение порядков производим в обратном коде, См. — 10 разрядов, Рг. — 5 разрядов. Умножение мантисс приведено в таблице 11.2. Определим значение порядка

Так как мантисса результата не удовлетворяет нормализации слева, т.е. δ=1,γ=0, то производится сдвиг мантиссы влево на один разряд mC = 1,1110110110 и коррекция порядка

В машинном виде будет соответствовать коду 11.1110110110.11.11, при условии выделения для порядка всего двух разрядов.

Примечание. Точки, разделяющие знак мантиссы, мантиссу, знак порядка, порядок в машинном коде не проставляются.

Арифметические действия в двоичной системе производятся по обычным для позиционных систем правилам, которые нам известны из десятичной арифметики, но при этом используются таблицы сложения и умножения двоичной системы:

Таблица сложения в двоичной системе очень проста. Надо только помнить, что прибавление нуля не меняет число, а один плюс один, будет два.

Читайте также:  Интересные проекты на python

Таблица умножения ещё проще. Здесь нужно твёрдо знать, что любое число, умноженное на нуль, есть нуль и что умножение на единицу не меняет числа.

Сложение многозначных чисел производится точно так же, как и в десятичной системе, то есть поразрядно, начиная с младшего. Например:

Вычитание в двоичной системе выполняется по таким правилам:

Точки, поставленные над некоторыми разрядами уменьшаемого, показывают, что в двоичной системе единица помеченного разряда раздробляется на две единицы низшего разряда.

Умножение и деление двоичных чисел практически не отличается от умножения и деления чисел, записанных в десятичной системе счисления. Единственным отличием является то, что при умножении в столбик не приходится находить произведение первого множителя на значения последовательных разрядов второго множителя, так как значение этих разрядов 1 или 0. А при делении в столбик не нужно подбирать неполное делимое, так как учитывая специфику двоичных чисел, неполное делимое можно определить просто посмотрев на делимое.

Примеры: 1101111 · 101101 = ?, 111100 : 1010 = ?

Ссылка на основную публикацию
Удалить одноклассники страницу с телефона айфон
Если вы хотите удалить свою страницу (профиль) в Одноклассниках, особенно если это требуется сделать со смартфона Android или iPhone —...
Тест автомобильных компрессоров за рулем
Жужжат много, а толку мало. Среди 12 образцов доступных (не дороже 2000 рублей) автомобильных компрессоров треть оказалась «неправильной». Стоит ли...
Тест железа в играх
Как найти игры для моего компьютера? На данной странице сервис выдаст полный список игр которые подходят вам исходя из параметров...
Удалить папку не удалось найти этот элемент
В этой инструкции подробно о том, как удалить файл или папку, если при попытке это сделать в Windows 10, 8...
Adblock detector