logo search
AK

1.7.9. Особливості виконання множення чисел з плаваючою крапкою

Z = XY = q kx m x * q ky m y = q kx + ky m x m y

1. Скласти порядки

2. Перемножити мантиси одним з розглянутих методів

3. Визначити порядок результату, якщо мантиса m z - нормалізоване число, то порядок результату буде дорівнює сумі порядків співмножників. Якщо m z - денормалізована вправо, то її нормалізують, зрушуючи відповідне число раз вліво, а із суми порядків віднімають стільки одиниць, скільки лівих зрушень для цього буде потрібно.

Округлення при множенні

Операція множення відноситься до таких, які виконуються в обчислювальних машинах не точно, а наближено. Це пов'язано з тим, що результат операції представлений подвоєним числом розрядів. Після виконання операції його округляють до n основних розрядів і тільки при виконанні операцій з підвищеною точністю використовують ще й додаткові розряди. Округлення може виконуватися одним із таких п'яти варіантів:

1. Шляхом відкидання n молодших розрядів результату. Будь-який результат представляється з недоліком. Часто ненульові результати представляються як машинні нулі.

2. Шляхом фіксації 1 в молодшому залишається розряді. Результат може бути представлений з надлишком. Ніколи не отримаємо машинний нуль.

3. Шляхом додавання 1 в старший відкидаємо розряд

4. Шляхом фіксації випадкової 1 в молодшому залишається розряд

5.Шляхом додавання   випадкової 1 в старший відкидаємо розряд

4 й і 5 й варіанти вимагають введення генератора випадкових чисел (схема / програма).