Книги-online
Глава 4 Арифметические основы компьютеров
4.14. Как компьютер выполняет арифметические действия над
нормализованными числами?
К началу выполнения арифметического действия операнды операции помещаются
в соответствующие регистры АЛУ.
Сложение и вычитание
При сложении и вычитании сначала производится подготовительная операция,
называемая выравниванием порядков.
В процессе выравнивания порядков мантисса числа с меньшим порядком
сдвигается в своем регистре вправо на количество разрядов, равное
разности порядков операндов. После каждого сдвига порядок увеличивается
на единицу.
|
В результате выравнивания порядков одноименные разряды чисел оказываются
расположенными в соответствующих разрядах обоих регистров, после чего
мантиссы складываются или вычитаются. В случае необходимости полученный результат нормализуется путем сдвига
мантиссы результата влево. После каждого сдвига влево порядок результата
уменьшается на единицу.
Пример 1. Сложить двоичные нормализованные числа 0.10111 . 2–1
и 0.11011 . 210. Разность порядков слагаемых здесь равна трем, поэтому
перед сложением мантисса первого числа сдвигается на три разряда вправо:
Пример 2. Выполнить вычитание двоичных нормализованных чисел 0.10101 . 210
и 0.11101 . 21. Разность порядков уменьшаемого и вычитаемого здесь
равна единице, поэтому перед вычитанием мантисса второго числа сдвигается на
один разряд вправо:
Результат получился не нормализованным, поэтому его мантисса
сдвигается влево на два разряда с соответствующим уменьшением порядка
на две единицы: 0.1101 . 20.
Умножение
При умножении двух нормализованных чисел их порядки складываются, а мантиссы
перемножаются.
|
Пример 3. Выполнить умножение двоичных нормализованных чисел:
(0.11101 . 2101) . (0.1001 . 211) = (0.11101 . 0.1001) .
2(101+11) = 0.100000101 . 21000.
Деление
При делении двух нормализованных чисел из порядка делимого вычитается порядок
делителя, а мантисса делимого делится на мантиссу делителя. Затем в случае
необходимости полученный результат нормализуется.
|
Пример 4. Выполнить деление двоичных нормализованных чисел:
0.1111 . 2100 : 0.101 . 211 = (0.1111 : 0.101)
. 2(100–11) = 1.1 . 21 = 0.11 . 210.
Использование представления чисел с плавающей точкой существенно
усложняет схему арифметико-логического устройства.