Теория:
При выполнении сложения и вычитания с кодами чисел в нормализованном виде их порядки выравнивают, мантиссы складывают, после чего нормализуют результат.
Пример \(4\)
Определи сумму и код суммы чисел \(A\) и \(B\) (числа в десятичной системе счисления).
\(A = 51,0625\);
.
.
Переведём число в шестнадцатеричную систему счисления | ||
Нормализуем | ||
Значение порядка | ||
Сложим мантиссы:
\(3\) | \(3\) | \(1\) | \(0\) | \(0\) | |
\(+\) | \(D\) | \(8\) | \(C\) | \(0\) | \(0\) |
\(1\) | \(0\) | \(B\) | \(D\) | \(0\) | \(0\) |
Полученная сумма обладает более высоким порядком, чем её слагаемые, поэтому нуждается в дополнительной нормализации:
.
Выполним проверку:
Нормализуем:
.
Ответ: .
Пример \(5\)
Определи сумму и код суммы чисел \(A\) и \(B\) (числа в десятичной системе счисления).
Переведём число в шестнадцатеричную систему счисления | ||
Нормализуем | ||
Значение порядка | ||
Выровняем порядки по большему:
Перед сложением мантисс вспомним, что отрицательное число должно быть представлено в дополнительном коде, тогда можно заменить вычитание сложением.
В примере предыдущего параграфа мы воспользовались способом получения дополнительного кода через вычитание из переполненной разрядной сетки.

Сложим мантиссы.

Полученная сумма — отрицательная. Определим её прямой код.

Полученный прямой код суммы обладает более низким порядком, чем её слагаемые, поэтому нуждается в дополнительной нормализации:
.
Выполним проверку:
Нормализуем:
.
Ответ: .
При выполнении умножения вещественных чисел в нормализованном виде их порядки складывают, мантиссы перемножают, после вычислений результат нормализуют.
При выполнении деления вещественных чисел в нормализованном виде их порядки вычитают, мантиссы делят, после вычислений результат нормализуют.
Следует также принимать во внимание переполнение разрядной сетки при выполнении арифметических операций. Связано это с её ограниченностью при работе с реальными величинами, например со слишком большими или слишком малыми числами, а также в случае округления чисел и накопления ошибки округления при выполнении многочисленных вычислительных операций. Так, известен и описан случай ошибки округления, приведший к искажению траектории баллистической ракеты во время военной операции «Буря в пустыне».
Пример \(6\)
Определи произведение и код произведения вещественных чисел \(X\) и \(Y\) (числа представлены в виде машинных кодов в \(32\)-разрядной сетке).
\(X = 40A00000\); \(Y = 41B00000\).
Перемножим мантиссы. Для перемножения удобно воспользоваться двоичным представлением значимой части мантиссы:
; .
Выполним умножение.

Произведение переведём в \(32\)-разрядный код с учётом суммы порядка (\(0 + 1 = 1\)):
.
Выполним проверку:
Источники:
Изображения. © ЯКласс.