Преобразование при изменении длины разрядной сетки

1. Машинные коды

2. Прямой код

3. Обратный код

4. Дополнительный код

5. Модифицированные обратные и дополнительные коды

6. Арифметические действия в машинных кодах.

Машинные коды

Для выполнения арифметических операций используют специ­альные коды представления чисел, которые позволяют свести опе­рацию вычитания чисел к арифметическому сложению этих кодов. Различают прямой код (П), обратный код (ОК) и дополнительныйкод (ДК). Прямой код используется для представления отрицательных чисел в памяти ком­пьютера, а также при выполнении операций умножения и деления. Обратный и дополнительный коды применяются для выполнения операции вычитания, которую заменяют операцией сложения чисел с разными знаками: а - b = а + (-b).

Прямой код

Прямой код целого числа. Под прямым кодом двоичного числа понимают запись самого числа. Значение знакового разряда для по­ложительных чисел определяют равным нулю (0), для отрицательных чисел - единице (1). Например, если для записи кода используется байт, то :

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

Знаковый разряд -> | 0, | 0 | 0 | 0 | 1 | 1 | 0 | 1 |

А 10 = +10; А 2 = +1010; [А 2 ] п = 0|1010

В 10 = –15; В 2 = –1111; [В 2 ] п = 1|1111


Обратный код

Обратный код целого положитель­ного числа совпадает с его прямым кодом. Для отрицательного чис­ла обратный код строится заменой каждого незнакового байта его представления в прямом коде на противоположный (заменим 1 на 0, 0 на 1), знаковый разряд не изменяется.

А 10 = +10; А 2 = +1010; [А 2 ]ок = [А 2 ]п = 0|1010

В 10 = –15; В 2 = –1111; [В 2 ]ок = 1|0000

Наиболее важные свойства обратного кода чисел:

· сложение положительного числа С с его отрицательным значением в обратном коде дает т.н. машинную единицу МЕок=1|11…11, состоящую из единиц в знаковом и в значащих разрядах числа;

· нуль в обратном коде имеет двоякое значение. Он может быть как положительным числом – 0|00…00, так и отрицательным 1|11…11. Значение отрицательного числа совпадает с МЕок. Двойственное представление 0 явилось причиной того, что в современных ЭВМ все числа представляются не обратным, а дополнительным кодом.


Дополнительный код

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

Пример:

В 10 = –15; В 2 = –1111; [В 2 ]дк = [В 2 ]ок + 2 0 = 1|0000+1 = 1|0001

Основные свойства дополнительного кода:

· сложение дополнительных кодов положительного числа С с его отрицательным значением дает т.н. машинную единицу дополнительного кода:

МЕдк=МЕок + 2 0 = 10|00…00, т.е. число 10 (два) в знаковых разрядах числа;

· дополнительный код называется так потому, что представление отрицательных чисел является дополнением прямого кода чисел до машинной единицы МЕдк.


Модифицированные обратные и дополнительные коды

Модифицированные обратные и дополнительные коды двоичных чисел отличаются соответственно от обратных и дополнительных кодов удвоением значений знаковых разрядов. В модифицированных обратном и дополнительном кодах под знак числа отводится не один, а два разряда: «00» соответствует знаку «плюс», «11» - знаку «минус». Любая другая комбинация («01» или «10»), получив­шаяся в знаковых разрядах, является признаком переполнения разряд­ной сетки. Сложение чисел в модифицированных кодах ничем, не от­личается от сложения в обычных обратном и дополнительном кодах.

А 10 = +10; А 2 = +1010; [А 2 ]дк = [А 2 ]ок = [А 2 ]п = 0|1010

[А 2 ]мок = [А 2 ]мдк = 00|1010

В 10 = –15; В 2 = –1111; [В 2 ]дк= [В 2 ]ок+2 0 = 1|0000+1 = 1|0001

[В 2 ]мок= [В 2 ]мдк= 11|0001

Значение знаковых разрядов «01» свидетельствует о положительном переполнении разрядной сетки, а «10» - об отрицательном переполнении. В настоящее время практически во всех компьютерах роль сдвоенных разрядов для фиксации переполнения разрядной сетки играют переносы, идущие в знаковый и из знакового разряда.


Сложение и вычитание чисел со знаком в дополнительном коде

Если оба числа имеют n–разрядное представление, то алгебраическая сумма будет получена по правилам двоичного сложения (включая знаковый разряд), если отбросить возможный перенос из старшего разряда. Если числа принадлежат диапазону представимых данных и имеют разные знаки, то сумма всегда будет лежать в этом диапазоне. Переполнение может иметь место, если оба cлагаемых имеют одинаковые знаки.
Пример 1:

6 – 4 = ?
6 – положительное число с кодом 0110
–4 – отрицательное число с дополнительным кодом 1100

(перенос игнорируется): 6 – 4 = 2.

Пример 2:

–5 + 2 = ?
2 – положительное число с кодом 0010
–5 – отрицательное число с дополнительным кодом 1011

Число с кодом 1101 является отрицательным, модуль этого числа имеет код 0011 2 = 3 10 .

http://book.kbsu.ru/theory/chapter4/1_4_12.html


Арифметические действия в машинных кодах.

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

Требуемая операция Необходимое преобразование
А+В А+В
А-В А+(-В)
-А+В (-А)+В
-А-В (-А)+(-В)

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

1. Слагаемые должны иметь одинаковое число разрядов. Для выравнивания разрядной сетки слагаемых можно дописывать незначащие нули слева к целой части числа и незначащие нули справа к дробной части числа.

2. Знаковые разряды участвуют в сложении так же, как и значащие.

3. Необходимые преобразования кодов производятся с изменением знаков чисел. Приписанные незначащие нули изменяют свое значение при преобразованиях по общему правилу.

4. При преобразовании единицы переноса из старшего знакового разряда, в случае использования ОК, эта единица складывается с младшим числовым разрядом. При использовании ДК единица переноса теряется. Знак результата формируется автоматически, результат представляется в том коде, в котором представлены исходные слагаемые.


Пример 1. Сложить два числа: А 10 = 7, В 10 = 16.

А 2 = +111 = +0111; В 2 = +10000.

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

п = ок = дк = 0|00111; [В 2 ]п = [В 2 ]ок = [В 2 ]дк = 0|10000.

Сложение в обратном или дополнительном коде дает один и тот же результат:

Пример 2. Сложить два числа: А 10 = +16, В 10 = -7 в ОК и ДК.

По таблице необходимо преобразование А+(-В), в которой второй член преобразуется с учетом знака

п = ок = дк = 0|10000;

[В 2 ]п = 1|111 = 1|00111; [В 2 ]ок = 1|11000; [В 2 ]дк = 1|11001

При сложении чисел в ОК и ДК были получены переносы в знаковый разряд и из знакового разряда. В случае ОК перенос из знакового разряда требует дополнительного прибавления единицы младшего разряда (п.4 правил). В случае ДК этот перенос игнорируется.

Сколько стоит написать твою работу?

Выберите тип работы Дипломная работа (бакалавр/специалист) Часть дипломной работы Магистерский диплом Курсовая с практикой Курсовая теория Реферат Эссе Контрольная работа Задачи Аттестационная работа (ВАР/ВКР) Бизнес-план Вопросы к экзамену Диплом МВА Дипломная работа (колледж/техникум) Другое Кейсы Лабораторная работа, РГР Он-лайн помощь Отчет о практике Поиск информации Презентация в PowerPoint Реферат для аспирантуры Сопроводительные материалы к диплому Статья Тест Чертежи далее »

Спасибо, вам отправлено письмо. Проверьте почту .

Хотите промокод на скидку 15% ?

Получить смс
с промокодом

Успешно!

?Сообщите промокод во время разговора с менеджером.
Промокод можно применить один раз при первом заказе.
Тип работы промокода - "дипломная работа ".

Размещено на /

Задание:

1. Сложить числа:

10000000100(2) + 111000010(2)

Сложим два числа столбиком:


алгоритм сложение вычитание

2. Выполните операции сложения и вычитания:

00101101 + 01101111

11111111 + 11111111

11111111 – 00011011

5А16 + 2В16

8216 – 1С16

Проверить все операции, переведя числа десятичную форму счисления.

вычислим столбиком по аналогии с первым примером:

00101101 + 01101111 = 10011100

11111111 + 11111111 = 111111110

11111111 – 00011011 = 11100100

Переведем числа из 16ти в двоичную систему:

Заменяем цифры числа 5А16:

Получим: 0101 0101 0001 0110

То есть число: 0101010100010110

Заменяем цифры числа 2В16:

Получим: 0010 0010 0001 0110

То есть число: 0010001000010110

Заменяем цифры числа 8216:

Получим: 1000 0010 0001 0110

То есть число: 1000001000010110

Заменяем цифры числа 1С16:

Получим: 0001 0001 0001 0110

То есть число: 0001000100010110

5А16 + 2В16= 0101010100010110+0010001000010110=11101110010110

8216 – 1С16= 1000001000010110-0001000100010110=111011100101100

Проверим получившиеся результаты, переведем их в десятичную систему счисления:

00101101 + 01101111 = 10011100 в десятичной это – 45 + 111 = 156

1 * 2^0 + 0 * 2^1 + 1 * 2^2 + 1 * 2^3 + 0 * 2^4 + 1 * 2^5 + 0 * 2^6 + 0 * 2^7 = 45

1 * 2^0 + 1 * 2^1 + 1 * 2^2 + 1 * 2^3 + 0 * 2^4 + 1 * 2^5 + 1 * 2^6 + 0 * 2^7 = 111

0 * 2^0 + 0 * 2^1 + 1 * 2^2 + 1 * 2^3 + 1 * 2^4 + 0 * 2^5 + 0 * 2^6 + 1 * 2^7 = 156

11111111 + 11111111 = 111111110 в десятичной это – 255+255=510

0 * 2^0 + 1 * 2^1 + 1 * 2^2 + 1 * 2^3 + 1 * 2^4 + 1 * 2^5 + 1 * 2^6 + 1 * 2^7 + 1 * 2^8 = 510

11111111 – 00011011 = 11100100 в десятичной это – 255+27=228

1 * 2^0 + 1 * 2^1 + 1 * 2^2 + 1 * 2^3 + 1 * 2^4 + 1 * 2^5 + 1 * 2^6 + 1 * 2^7 = 255

1 * 2^0 + 1 * 2^1 + 0 * 2^2 + 1 * 2^3 + 1 * 2^4 + 0 * 2^5 + 0 * 2^6 + 0 * 2^7 = 27

0 * 2^0 + 0 * 2^1 + 1 * 2^2 + 0 * 2^3 + 0 * 2^4 + 1 * 2^5 + 1 * 2^6 + 1 * 2^7 = 228

0101010100010110+0010001000010110=11101110010110 десятичной это – 21782+8726=30508

0 * 2^0 + 1 * 2^1 + 1 * 2^2 + 0 * 2^3 + 1 * 2^4 + 0 * 2^5 + 0 * 2^6 + 0 * 2^7 + 1 * 2^8 + 0 * 2^9 + 1 * 2^10 + 0 * 2^11 + 1 * 2^12 + 0 * 2^13 + 1 * 2^14 + 0 * 2^15 = 21782

0 * 2^0 + 1 * 2^1 + 1 * 2^2 + 0 * 2^3 + 1 * 2^4 + 0 * 2^5 + 0 * 2^6 + 0 * 2^7 + 0 * 2^8 + 1 * 2^9 + 0 * 2^10 + 0 * 2^11 + 0 * 2^12 + 1 * 2^13 + 0 * 2^14 + 0 * 2^15 = 8726

0 * 2^0 + 0 * 2^1 + 1 * 2^2 + 1 * 2^3 + 0 * 2^4 + 1 * 2^5 + 0 * 2^6 + 0 * 2^7 + 1 * 2^8 + 1 * 2^9 + 1 * 2^10 + 0 * 2^11 + 1 * 2^12 + 1 * 2^13 + 1 * 2^14 = 30508

1000001000010110-0001000100010110=111000100000000 десятичной это – 33302-4374

0 * 2^0 + 1 * 2^1 + 1 * 2^2 + 0 * 2^3 + 1 * 2^4 + 0 * 2^5 + 0 * 2^6 + 0 * 2^7 + 0 * 2^8 + 1 * 2^9 + 0 * 2^10 + 0 * 2^11 + 0 * 2^12 + 0 * 2^13 + 0 * 2^14 + 1 * 2^15 = 33302

0 * 2^0 + 1 * 2^1 + 1 * 2^2 + 0 * 2^3 + 1 * 2^4 + 0 * 2^5 + 0 * 2^6 + 0 * 2^7 + 1 * 2^8 + 0 * 2^9 + 0 * 2^10 + 0 * 2^11 + 1 * 2^12 + 0 * 2^13 + 0 * 2^14 + 0 * 2^15 = 4374

0 * 2^0 + 0 * 2^1 + 0 * 2^2 + 0 * 2^3 + 0 * 2^4 + 0 * 2^5 + 0 * 2^6 + 0 * 2^7 + 1 * 2^8 + 0 * 2^9 + 0 * 2^10 + 0 * 2^11 + 1 * 2^12 + 1 * 2^13 + 1 * 2^14 = 28928

3. Выполнить операции умножения и деления:

10101110 * 10001110=110000010000100

10110101 * 101=1110001001

10011010 / 101=11110

10011110 / 1101=1100

4. Вычислите значения выражения:

1010{10} + (106{16} – 11011101{2}) – 128{8}

Переведем все числа в одну систему счисления, например десятичную:

ПЕРЕВОД ЧИСЛА 106 ИЗ 16-й В 10-ую СИСТЕМУ СЧИСЕНИЯ

1 0 6 - само число

2 1 0 - разряды чила

Начнём перевод числа:

6 * 16^0 + 0 * 16^1 + 1 * 16^2 = 262

ПЕРЕВОД ЧИСЛА 11011101 ИЗ 2-й В 10-ую СИСТЕМУ СЧИСЕНИЯ

Сначала напишем разряды символов числа:

1 1 0 1 1 1 0 1 - само число

7 6 5 4 3 2 1 0 - разряды чила

Начнём перевод числа:

1 * 2^0 + 0 * 2^1 + 1 * 2^2 + 1 * 2^3 + 1 * 2^4 + 0 * 2^5 + 1 * 2^6 + 1 * 2^7 = 221

ПЕРЕВОД ЧИСЛА 128 ИЗ 8-й В 10-ую СИСТЕМУ СЧИСЕНИЯ

Сначала напишем разряды символов числа:

1 2 8 - само число

2 1 0 - разряды чила

Начнём перевод числа:

8 * 8^0 + 2 * 8^1 + 1 * 8^2 = 88

1010+(262-221)- 88=963.


Размещено на

Похожие рефераты:

Общее представление о системах счисления. Перевод чисел в двоичную, восьмеричную и шестнадцатеричную системы счисления. Разбивка чисел на тройки и четверки цифр. Разряды символов числа. Перевод из шестнадцатеричной системы счисления в десятичную.

Министерство общего и профессионального образования РФ Владимирский Государственный Университет Кафедра УИТЭС Лабораторная работа 1 СИСТЕМЫ СЧИСЛЕНИЯ

Свойства кодов Фибоначчи, позволяющих строить быстродействующие и помехоустойчивые аналого-цифровые преобразователи ("фибоначчевые"). Использование для диагностики ЭВМ, в цифровых фильтрах для улучшения спектрального состава сигнала за счет перекодировки.

Логические, или булевские, данные предназначены для хранения логических значений "истина" или "ложь". Логические переменные и константы имеют тип Boolean и занимают в памяти 1 байт. Существует всего две логические константы - TRUE и FALSE.

Подання чисел у нормальній формі. Порядок нормалізації чисел з рухомою комою. Правила додавання двійкових чисел з рухомою комою. Алгоритми і програми додавання чисел в арифметиці з рухомою комою в інструкціях навчального комп"ютера-симулятора DeComp.

Перевод чисел из одной позиционной системы счисления в другую. Арифметические операции с числами в позиционных системах счисления.

Система счисления и перевод числа из одной системы в другую. Машинное предоставление информации. Числа с фиксированной точкой: прямой, обратный (инверсный) или дополнительный код. Программная реализация алгоритма и описание использованных процедур.

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

Процесс шифрования. Процесс расшифрования. Функция шифрования. Функция расширения Е". Функции преобразования S(i). Функция перестановки P. Функция перестановки и выбора последовательности B.

Запись прямого и обратного кода для числа 10010 и -10010. Получение дополнительного кода числа для 16-разрядной ячейки. Перевод в двоичную систему счисления десятичных чисел: 10, 45, 7, 33. Запись в обратном и дополнительном кодах числа -67, -43, -89.

Разработка общей структуры ЦВМ. Таблица микрокоманд. Операционный автомат центрального управляющего устройства. Синтез управляющего автомата с программируемой логикой.

Иногда возникает необходимость записать n-разрядное целое двоичное число в слово длиной т бит, причем т>п. Если исходное число представлено в прямом коде, такое преобразование выполняется довольно просто - нужно перенести знаковый разряд в крайний левый бит нового слова, а остальные дополнительные биты заполнить нулями.

Но с отрицательными числами в дополнительном коде такая схема не дает правильного результата. Преобразование дополнительного кода при расширении разрядной сетки выполняется следующим образом: нужно скопировать значение знакового разряда во все дополнительные биты. Если исходное число было положительным, то все дополнительные биты заполнятся нулями, а если отрицательным - единицами Эта операция называется расширением знака. Формально справедливость этого правила доказывается следующим образом. Рассмотрим n-разрядную последовательность двоичных цифр, которая интерпретируется как представление в дополнительном коде числа А.

Представление с фиксированной точкой

И наконец, следует остановиться еще на одном нюансе. Описанные выше форматы объединяются часто одним термином - формат с фиксированной точкой. Суть его в том, что положение разделительной точки между целой и дробной частями числа неявно фиксируется на разрядной сетке. В настоящее время принято фиксировать точку справа от самого младшего значащего разряда. Программист может использовать аналогичное представление для работы с двоичными дробными числами, мысленно фиксируя точку перед старшим значат, разрядом и соответственно масштабируя результаты преобразований, выполняемых стандартными программными или аппаратными средствами.

Арифметические операции с целыми числами

Отрицание

Операция отрицания числа, представленного в прямом коде, выполняется очень просто - нужно инвертировать значение знакового разряда. Если же число представлено в дополнительном коде, отрицание выполняется несколько сложнее, Правило выполнения этой операции формулируется следующим образом. Следует инвертировать значение в каждом разряде представления исходного числа (положительного или отрицательного), включая и знаковый, т.е, установить значение 1 в тех разрядах, где ранее было значение 0, и значение 0 - в тех разрядах, где ранее было значение 1 (эту операцию иногда называют поразрядным дополнением - bitwise complement, а ее результат - инверсным кодом).

Нужно сложить образовавшееся число с числом 0, . .001 по правилам сложения чисел без знака. Иногда эту операцию называют вычислением дополнения числа в дополнительном коде (twos complement operation ).

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

Соотношение А = -В эквивалентно соотношению А+В=0.

Сложение и вычитание в дополнительном коде

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

В приложении, рисунок 2, представлена блок-схема узлов АЛУ, принимающих участие в выполнении операций сложения и вычитания целых чисел. Центральным узлом является двоичный сумматор, на входы которого подаются коды слагаемых, а на выходах формируется двоичный код суммы, причем операция выполняется по правилам сложения чисел без знака. При выполнении сложения оба слагаемых направляются на входы сумматора непосредственно из регистров слагаемых. Результат передается либо в один из регистров слагаемых, либо в третий регистр результата. Кроме кода результата тип сумматор формирует сигнал переполнения, который фиксируется в 1-битовом флаге переполнения. Значение флага интерпретируется следующим образом: 0 - переполнение отсутствует, 1 - есть переполнение. При выполнении операции вычитания код вычитаемого, хранящийся перед началом операции в регистре, передается на схему, выполняющую операцию отрицания, а уже с выхода этой схемы код поступает на вход сумматора.

Умножение

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

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

Умножения чисел без знака

1. При выполнении умножения необходимо формировать частичные произведения, по одному на каждый разряд множителя. Эти частичные произведения затем суммируются, а их сумма и есть результат умножения - полное произведение.

2. Сформировать частичные произведения в двоичном коде довольно легко. Если соответствующий разряд множителя равен 0, частичное произведение также равно 00..00. Если соответствующий разряд множителя равен 1 . частичное произведение равно множимому.

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

4. Результатом перемножения двух n-разрядных целых чисел будет 2n-разрядное число.

Во-первых, суммирование очередного частичного произведения можно выполнять немедленно после того, как оно будет сформировано, не дожидаясь остальных. Во-вторых, можно сформировать частичные произведения. Для разряда в коде множителя, равного 1, нужно выполнить сдвиг и сложение кода множимого, а для разряда, равного 0, - только сдвиг.

Умножение чисел в дополнительном коде

Мы уже отмечали, что при выполнении сложения и вычитания чисел в дополнительном коде они интерпретируются как числа без знака. Схема оказывается неработоспособной при выполнении умножения. Она неприменима, если оба сомножителя отрицательны. Она неправильного результата в случае, если отрицателен хотя бы один из сомножителей.

Единственное отличие в том, что частичные произведения трактуются как 2n-разрядные числа, сформированные из n-разрядного множимого. Рассматривая 4-разрядное множимое как число без знака, получим после расширения до восьми разрядов. Любое частичное произведение, соответствующее умножению этого числа на некоторый разряд множителя, отличный от 0-го, формируется сдвигом расширенного кода множимого влево на соответствующее число разрядов, причем освободившиеся справа разряды, заполняются кодом 0. Каждое частичное - введение, образованное от отрицательного множимого, при его формировании знаковый разряд исходного числа должен быть расширен. Разряды отрицательного множителя в дополнительном коде не соответствуют частичным произведениям, сформированным сдвигом множимого. Для суммирования частичных произведений нельзя использовать значения разрядов кода множителя

Решить эту дилемму можно по-разному. Один из способов - преобразовать оба сомножителя в положительные числа, перемножить их по правилам умножения чисел без знака, а затем, если знаки сомножителей были разными, выполнить операцию отрицания результата по правилам, принятым для чисел в дополнительном коде. Конструкторы АЛУ предпочитают способ, который не требует выполнения дополнительного преобразования после завершения умножения: алгоритм Бута (Booth ). Схема алгоритма Бута приведена в приложении (рисунок 3). Сомножители размещаются в регистрах. Кроме них имеется одноразрядный регистр, который связан с младшим разрядом регистра. Если оба разряда имеют одинаковые значения, все разряды регистров сдвигаются на 1 разряд вправо. Такую операцию принято называть сдвигом с сохранением знака или арифметическим сдвигом. Следовательно, произведение на такой множитель можно получить с помощью всего одной операции сложения и одной операции вычитания.



glavpom.ru - Подстанции. Силовая электроника. Экология. Электротехника