Главная » Просмотр файлов » 30 Операции над числами с фиксированной точкой. Алгоритмы. Реализация.

30 Операции над числами с фиксированной точкой. Алгоритмы. Реализация. (1006351), страница 2

Файл №1006351 30 Операции над числами с фиксированной точкой. Алгоритмы. Реализация. (Вопросы по разным темам с ответами (программирование)) 2 страница30 Операции над числами с фиксированной точкой. Алгоритмы. Реализация. (1006351) страница 22017-06-10СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 2)

Необходимо также иметь счетчик циклов Сч.Ц, сначала устанавливается «n», далее работает на вычитание. Если Сч.Ц=0, то прекращается умножение.

Микропрограмма умножения

Р1:=Швх; (множимое)

Р2:=Швх; РВ:=0; (множитель)

СчЦ:=n;

ТЗ:=Р1[0]+P2[0];

P1[0]:=0;

P2[0]:=0;

┌──────────────────────────────┐

│ "1" ┌─────┴──────┐ "0"

│ ┌─────────┤ Р2[n-1] ├─────────┐

│ ┌─────┴─────┐ └────────────┘ ┌─────┴─────┐

│ │ РA:=Р1 │ │ РA:=0 │

│ └─────┬─────┘ └─────┬─────┘

│ └───────────────┬────────────────┘

│ ┌─────────────┴──────────────┐

│ │ СM:=РA+РB │

│ │ РC:=П(1)СM │

│ │ Р3:=П(1)Р2 │

│ │ Р3[0]:=СM[n-1] │

│ └─────────────┬──────────────┘

│ ┌─────┴──────┐

│ │ РB:=РC │

│ └─────┬──────┘

│ ┌─────────────┴──────────────┐

│ │ Р2:=Р3 │

│ │ СчЦ:=СчЦ-1 │

│ └─────────────┬──────────────┘

│ нет ┌───┴───┐ да

└──────────────────────────┤ СчЦ=0?├───────────────┐

└───────┘ │

РA:=0

РС:=РA+РB

PC[1-(n-1)]:=РA+РB

PC[0]=TЗ

Швых:=РС (старшая часть рез-та)

РA:=0

PB:=P2

PC:=PA+PB

Швых:=РС (младшая часть рез-та)

Умножение целых чисел, представленных в дополнительном коде

=

  1. x0, y0

  2. x0, y<0

= =|x|(2 n-|y|)=2 n|x|-|x||y| - неправильный результат, обозначим его как а), правильный результат должен быть =2 2n-|x||y|, обозначим его как в), поэтому необходимо скорректировать результат:

т.е. надо из в) вычесть а), тогда а) - в) =2 2n-2 n |x|=2 n  (2 n - |x|) = с), т.е. это мы получили дополнительный код множимого - x, сдвинутый на n-разрядов влево. Чтобы получить правильный результат нужно к результату прибавить доп код множимого, сдвинутый на n разрядов влево

Пример:

X=3

Y=-5

0011

*1011

0011 

00011

+0011

01001 

001001 

0001001

+ 0011

0100001 

00100001

+ 1101

11110001 – доп код -15

  1. x<0, y>0

= =(2 n - |x|) |y|= 2 n |y|  |x||y|+(2 2n – 2 n |y|), а должно быть

=2 2n - |x||y|

2 n (2 n- |y|)- дополнит. код множителя,

2 2n –2 n |y| -коррекция.

Чтобы получить правильный результат нужно к результату прибавить доп код множителя, сдвинутый на n разрядов влево

4) x<0, y<0

= =(2 n - |x|)  (2 n - |y|)=2 2n – 2 n |y| - 2n |x| + |x||y| = а)- неправильный результат, должно быть = |x||y|.

|x|- дополнительный код множимого сдвинутый на разряд влево т.е.

|x|=2 n (2 n - |x|),

|y|- дополнительный код множителя

Правильный результат будет, если к а) прибавить дополнит. код множимого и множителя, сдвинутых на n разрядов влево.

Правило:

  1. Умножение производится обычным образом.

  2. Если множитель отрицательный (y<0), то необходимо прибавить дополнит. код множимого -x.

  3. Если множимое отрицательное (x<0), то необходимо прибавить дополнит. код множителя -y.

  4. Если множимое и множитель отрицательны (x<0, y<0), то необходимо прибавить дополнит. код множимого и дополнительный код множителя.

Микропрограмма и схема АЛУ для выполнения операции умножения в дополнительном коде

РА -множимое,

Рг2- множитель, младшая часть,

РВ -старшая часть множимого.

3 Ускоренное выполнение операции умножения

Существует два основных подхода:

  1. аппаратные методы ускоренного умножения -АМ;

  2. логические методы умножения- ЛМ.

АМ и ЛМ требуют дополнительного оборудования. При использовании ЛМ дополнительное оборудование не зависит от длины-n сомножителя, а при АМ - зависит.

Логические методы - метод Лемана.

Метод Лемана позволяет уменьшить число необходимых сложений путем анализа нескольких разрядов множитля одновременно.

Когда единицы и нули чередуются следующим образом - 01010101 -то метод Лемана не работает.

Таблица действий при анализе двух разрядов:

кор

bi

bi+1

действие

кор

0

0

0

П(2) r

0

0

0

1

П(2) (r+М)

0

0

1

0

П(2) (r+2М)

0

0

1

1

П(2)(r-М)

1

1

0

0

П(2) (r+М)

0

1

0

1

П(2) (r+2М)

0

1

1

0

П(2)(r-М)

1

1

1

1

П(2) r

1

П(2) – сдвиг вправо, r-промежуточный результат, М-множимое

Соотношения, описывающие метод Лемана:

0, не надо выполнять операцию «+» и «-» на i шаге умножения

di=

1, надо выполнять операцию «+» и «-» на i шаге умножения



0, надо выполнять операцию «+», если di =1

Si=

1, надо выполнять операцию «-», если di =1



Пусть bj – j разряд множителя.

di=(bi bi-1) d0=0; b0=0;

Si= bi+1•di



Аппаратные методы ускорения операции умножения.

Объем оборудования зависит от числа разрядов.

4 Деление.

Рассмотрим деление 2 способами:

  • с восстановлением остатка

  • без восстановления

Разрядная сетка для целых чисел ограниченна: z = xy.

деление обр. операции для умножения;

z, y – выделяется по n разрядов, а (x) – 2n.

Можно делить (x) на y в том случае, когда z < 2n-1 .

Правило переполнения для частного.

z = xy, пусть x, y  0, целые представленные в прямом коде.

z < 2n-1 ; xy < 2n-1; x < y2n-1; x - y2n-1 < 0 правило возможности выполнения операции.

Д о деления осуществляется пробное вычитание, если величина оказалась  0, то переполнение, если < 0 – можно делить.

x

2n

y2n-1

Деление с восстановлением остатка.

Алгоритм:

  1. Образуем знак частного: складываем по модулю 2 знаковые разряды делимого и делителя.

  2. Знаковые разряды делимого и делителя сбрасываем и сдвигаем делимое на один разряд влево.

  3. К делимому прибавляем дополнительный код делителя, выровненный по левому краю и анализируется знак результата.

  4. Если получили отрицательный текущий остаток, то восстанавливаем предыдущий остаток (прибавляем делитель в прямом коде) и сдвигаем его. В этом случае разряд частного получает значение 0.

  5. Если получили положительный текущий остаток, то очередной разряд частного принимает значение 1 и этот положительный текущий остаток сдвигается влево

  6. Повторяем пункты 3-5 до получения n разрядов частного

Недостатком этого способа является необходимость восстановления остатка.

В общем случае после деления имеем целую часть и остаток от деления.

Пример:

Деление без восстановления остатка.

Алгоритм:

1Образуем знак частного: складываем по модулю 2 знаковые разряды делимого и делителя.

2 Знаковые разряды делимого и делителя сбрасываем и сдвигаем делимое на один разряд влево.

3 К делимому прибавляем дополнительный код делителя, выровненный по левому краю и анализируется текущий остаток.

4 Если текущий остаток положительный, сдвигаем его влево на 1 разряд и вычитаем делитель

5 Если текущий остаток отрицательный, то сдвигаем его влево и прибавляем делитель

Пример:

Аппаратная реализация:

Р1-делитель

РВ – старшая часть делимого

Р2 – младшая часть делимого

СП-схема переноса - РС=СдвигВлево(См)

При первом способе деления :

при вычитании из текущего остатка делителя (РА=ИнверсияР1, СМ=РА+РВ+1) сохраняется предыдущий остаток и новый остаток. Если новый остаток отрицательный, то нужно взять сохраненный в РВ и Р2 предыдущий остаток и сдвинуть его. Если текущий остаток положительный, то сдвигаем его.

Разряды частного записываем в младщий разряд Р2

При втором способе:

Текущий остаток находится в РВ и Р2. От этого остатка требуется вычитать или складывать с ним делитель. Новый остаток всегда требуется сдвигать.

13


Характеристики

Тип файла
Документ
Размер
1012 Kb
Высшее учебное заведение

Список файлов ответов (шпаргалок)

ГОСЫ!!!
19, 27
12
39. Система управления файлами. Основные задачи ОС по управлению файлами. Логическая и физическая организация файловой системы
41
42. Понятие программных средств и их жизненный цикл
46. Поля Галуа и алгебра полиномов
47. Методы шифрования с открытым ключом
49
50. Экспертные системы. Архитектура. Основные компоненты
51. Эволюционное моделирование. Генетическое программирование
52
53
54. Теорема о полноте системы функций алгебры логики. Необходимость
57. Основные синтаксические конструкции языка ПРОЛОГ
58. Префиксная форма записи и списковая структура программы и данных на языке ЛИСП
59
Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6864
Авторов
на СтудИзбе
271
Средний доход
с одного платного файла
Обучение Подробнее
{user_main_secret_data}