Умножение и деление
Числа, представленные в форме с плавающей запятой, «хорошо приспособлены» для выполнения умножения и деления. При перемножении достаточно (в полном соответствии с правилами математики) перемножить их значащие части, а порядки сложить. При делении значащие части делятся, а порядки вычитаются. Конечно, результат может оказаться ненормализованным, но это легко устраняется стандартной процедурой.
Рассмотрим, как выполняется умножение чисел 1,2510 = 1,012 и 4,01О = 100,02. В нормализованном виде они запишутся как 1,01 • 20 и 100 • 20 = 1,0 • 210. В этом примере значащие части можно перемножить устно: 1,01 • 1,0 = 1,01. Теперь сложим порядки: 0 + 10 = 10. Таким образом, результат равен 1,01 • 210. Он уже удовлетворяет требованиям нормализации, поэтому никаких дополнительных действий не требуется. Легко показать, что 1,01 • 210 = 101 • 20 = 510.
Знакомство с вещественной арифметикой убедительно показывает важную роль битовых операций, изученных в § 28. Для нормализации постоянно используются сдвиги; для выделения значащей части или порядка из общего кода числа обязательно потребуется логическая операция «И», а для получения единого кода из порядка и значащей части можно использовать логическое «ИЛИ». В обеих последних задачах также необходимы сдвиги.
Следующая страница Вопросы и задания