2.3.1. МЕТОДИКА УМНОЖЕНИЯ
В соответствии с формулами (2.15), (2.16) умножение выполняется в три этапа: 1) определяется порядок произведения путем алгебраического сложения порядков сомножителей; 2) находится мантисса произведения путем перемножения мантисс сомножителей по правилам арифметики с фиксированной запятой; 3) производится, если необходимо, нормализация произведения влево.
По
граничная относительная ошибка произведения чисел с плавающей запятой определяется так же, как и для чисел с фиксированной запятой, по выражению (1.16) при условии отсутствия переполнения и антипереполцения порядка произведения.
Далее будут приведены программы умножения чисел с плавающей запятой УДПЗЗ и УДП34, реализующие рассмотренный алгоритм умножения для короткого и длинного форматов чисел.
2.3.2. Формат (8,16} • {8,161 = (8,16)
Программа УДПЗЗ выполняет умножение чисел в
Программа осуществляет контроль множителей на нуль с помощью подпрограммы КОМЗ и обнуление произведения в случае нулевого сомножителя с помощью подпрограммы ОБНЗ:
Аналогичная программа ОБН4 используется в программе УДП34 для обнуления четырехбайтного произведения. Применение программ КОМЗ и ОБНЗ сокращает среднее время выполнения программы УДПЗЗ, когда в по-
токе сомножителей часто встречаются нулевые числа. При ненулевых сомножителях программа вычисляет порядок и мантиссу произведения и, если необходимо, выполняет нормализацию числа с помощью подпрограммы НМАН2, описанной выше. Заканчивается умножение записью результата в память. При переполнении или антипереполнении порядка произведения устанавливается признак переноса CY= 1, сигнализирующий о некорректности вычислений. При вычислении мантиссы произведения программа обращается к подпрограмме умножения УДФ17. Эта программа использует симметричный способ округления произведения, что определяет и соответствующую ему относительную ошибку.
Для тестирования программы УДПЗЗ можно использовать данные табл. 2.3.
2.3.3. ФОРМАТ (8,24) • (8,24) = (8,24)
Программа УДП34 выполняет умножение чисел в
Структура этой программы аналогична структуре УДПЗЗ. Программа обращается к рассмотренным выше подпрограммам КОМ4 и ОБН4 и программам НМАНЗ и УДФ24. Для тестирования можно использовать данные табл. 2.4.
2.4.