Логические и арифметические основы и принципы работы ЭВМ

Умножение:


X = 2mx * sign X.x1x2...xn

Y = 2my * sign Y.y1y2...yn

Z = X*Y = 2mx+my * sign Z.z1z2...zn

Порядок выполнения операции следующий:

  1. Знак произведения находится так же, как и при умножении чисел с фиксированной запятой:

  2. Порядок произведения находится алгебраическим суммированием порядков мно­жимого и множителя.
  3. Мантисса находится по правилам умножения чисел с фиксированной запятой.

    При этом возможны следующие случаи:

    • Мантисса произведения – ненормализованное число, так как

      ?

      |Mx| < 1, ?
      |My| < 1, то ?
      |Mx*My| < 1, при ?
      |Mx*My| < ? имеем ненормализованное число.

      Поэтому необходима нормализация влево максимум только на один разряд.

      С этой целью нужно сдвинуть мантиссу влево на один разряд. Это соответствует умножению числа на 21. Для того чтобы число не увеличилось в два раза, нужно из порядка вычесть единицу.

    • При умножении двух чисел в силу ограниченности разрядной сетки можно получить число, которое не может быть в ней представлено. Это соответствует получению машинной бесконечности.

      В данном случае вырабатывается специальный признак, по которому дальнейшие вычисления прекращаются.

    • При умножении двух чисел можно получить минимальное число, которое также не может быть представлено в разрядной сетке. Это соответствует случаю, когда получаемое число должно быть интерпретировано как нуль.



Содержание раздела