Помощничек
Главная | Обратная связь


Археология
Архитектура
Астрономия
Аудит
Биология
Ботаника
Бухгалтерский учёт
Войное дело
Генетика
География
Геология
Дизайн
Искусство
История
Кино
Кулинария
Культура
Литература
Математика
Медицина
Металлургия
Мифология
Музыка
Психология
Религия
Спорт
Строительство
Техника
Транспорт
Туризм
Усадьба
Физика
Фотография
Химия
Экология
Электричество
Электроника
Энергетика

Алгоритм умножения чисел в форме с плавающей запятой



Если сомножители заданы в форме с ПЗ:

,

то их произведение определяется следующим образом:

,

т.е. мантисса произведения равна произведению мантисс сомножителей, а порядок равен сумме порядков сомножителей.

Это позволяет сформулировать алгоритм умножения чисел в форме ПЗ.

1. Определить знак произведения путем сложения по модулю два знаковых разрядов сомножителей.

2. Перемножить модули мантисс сомножителей по правилам умножения дробных чисел с ФЗ.

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

4. Нормализовать мантиссу результата и выполнить округление, если это необходимо.

Примечания.

1. Так как мантиссы исходных сомножителей нормализованы, то денормализация мантиссы произведения возможна только на один разряд.

2. При умножении чисел с ПЗ возможно возникновении ПРС при сложении порядков, поэтому необходимо предусматривать выявление признаков ПРС в устройствах умножения чисел с ПЗ.

 

Пример 7. Перемножить числа А=26(10) и В=-19(10), представив их в форме с ПЗ в разрядной сетке условной машины. При умножении мантисс использовать III способ умножения.

 

 

А =11010(2) Операнды в разрядной сетке условной машины
В=-10011(2)
  знак числа Мантисса пять разрядов знак порядка Порядок четыре разряда

1. Знак произведения: 0Å1=1.

2. Произведение модулей мантисс.

 

       
 
   
 


Множитель

  Сумма ЧП Пояснения
  0,11010 0,0000000000  
  0,0000010011 Сложение
0,10100 0,0000100110 Сдвиги
  0,0000111001 Сложение
0,01000 0,0001110010 0,0011100100 Сдвиги Сдвиги
0,10000  
  0,0011110111 Сложение
0,00000 0,0111101110 Сдвиги Нет последнего сдвига!

 

Полное 10-разрядное произведение модулей мантисс: 0,0111101110.

3. Порядок произведения 0 0101
  0 0101
  0 1010.

4. Нормализация и округление мантиссы произведения.

Так как в разрядной сетке условной машины под мантиссу отведено 5 разрядов, то необходимо округлить мантиссу результата, что приводит к погрешности. Для уменьшения погрешности следует сначала выполнить нормализацию мантиссы произведения, чтобы больше верных цифр попало в разрядную сетку, а затем округлить мантиссу. Обычно выполняют симметричное округление: если первый отбрасываемый разряд = 1, то к младшему разряду мантиссы в разрядной сетке следует прибавить единицу; если отбрасываемый разряд = 0, мантисса остаётся без изменения.

Результат в разрядной сетке

 

Нормализация мантиссы произведения выполнятся сдвигом ее влево на один разряд с одновременным уменьшением порядка на единицу.

Проверка: -0,11111×29=-111110000(2)=-496(10).

Абсолютная ошибка округления =+2(10).

 




Поиск по сайту:

©2015-2020 studopedya.ru Все права принадлежат авторам размещенных материалов.